Форум русской поддержки Joomla!® CMS
04.12.2016, 22:27:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Условие по существованию пункта меню

 (Прочитано 434 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Taatshi
Support Team
*****

Репутация: +430/-3
Offline Offline

Пол: Женский
Сообщений: 4716

Мама, я снова верстал во сне...


« : 09.03.2016, 21:58:28 »

Нужно прописать условие для вывода блока.

Если существует пункт меню с таким-то id или алиасом, то...

Не придумывается как получить все имеющиеся в системе или хотя бы в данном меню (например, leftmenu) пункты. Подскажите хотя бы направление пожалуйста.
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

Пол: Мужской
Сообщений: 3572


« Ответ #1 : 09.03.2016, 22:03:52 »

Код
$menu=JFactory::getApplication()->getMenu();
$items=$menu->getMenu();
foreach($items as $item){
if($item->id==blahblah){
blahblah;
}
}
 
Записан
Taatshi
Support Team
*****

Репутация: +430/-3
Offline Offline

Пол: Женский
Сообщений: 4716

Мама, я снова верстал во сне...


« Ответ #2 : 09.03.2016, 22:09:25 »

Круто!  Cheesy  Kiss
Записан
dmitry_stas
Профи
********

Репутация: +795/-4
Offline Offline

Сообщений: 7741



« Ответ #3 : 09.03.2016, 22:19:55 »

можно еще встроенным методом
Код:
$menuItem = JFactory::getApplication()->getMenu()->getItems('id', 'blabla', true);
if ($menuItem) {
    ....
}
« Последнее редактирование: 09.03.2016, 22:56:53 от dmitry_stas » Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

Пол: Мужской
Сообщений: 3572


« Ответ #4 : 09.03.2016, 22:29:42 »

Да, сейчас посмотрел - если ID известен, то можно короче
Код
$menu_item=JFactory::getApplication()->getMenu()->getItem('ID_меню');
if($menu_item!==null){
blahblah;
}
 
Тот кусок я взял на скорую руку из старого модуля: там нужно было сравнивать ссылку меню.
Записан
dmitry_stas
Профи
********

Репутация: +795/-4
Offline Offline

Сообщений: 7741



« Ответ #5 : 09.03.2016, 22:58:59 »

угу, getItem нужно использовать если ID известен, самый быстрый и правильный способ будет. getItems - более универсальный, для алиаса например и прочего.
Записан
voland
Профи
********

Репутация: +487/-86
Offline Offline

Пол: Мужской
Сообщений: 8696


любит наш народ всякое гавно...


« Ответ #6 : 09.03.2016, 23:19:04 »

Только надо учитывать, что getItems может создать нехилую нагрузку
Записан
Taatshi
Support Team
*****

Репутация: +430/-3
Offline Offline

Пол: Женский
Сообщений: 4716

Мама, я снова верстал во сне...


« Ответ #7 : 10.03.2016, 00:00:18 »

да там лендинг и всего 6 пунктов для вертикального скролла... нагрузки не будет особой. Спасибо всем)
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet