Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 1597 Просмотров
*

Tamplier

  • Новичок
  • 5
  • 0 / 0
Где в Joomla хранится номер текущего уровня в меню - в какой переменной?
Задача состоит в том чтобы отображать некий модуль в зависиости от уровня текущего пункта в меню.
Я использую компонент Advanced Module Manager http://extensions.joomla.org/extensions/10307 и в нем есть опция отображения в зависимости от PHP выражения.
Так вот в поле сравнения этой опции нужно вписать что-то вроде
return ($MenuLevel > 1 && $MenuLevel < 5);
где $MenuLevel -  текущий уровень в меню. Приведенный пример будет отображать модуль только в тех пунктах меню которые находятся во 2-4 уровнях этого меню.
Теперь собственно вопрос: Что вписать вместо $MenuLevel? Какая переменная хранит текущий уровень текущего меню?
« Последнее редактирование: 05.12.2010, 22:06:33 от Tamplier »
*

Tamplier

  • Новичок
  • 5
  • 0 / 0
Неужели никто не знает? :( Подскажите хотя-бы в каком направлении копать.
*

DSergeev™

  • Захожу иногда
  • 64
  • 1 / 0
  • Не возжелай себе рейтинга другого блоггера
отключаем SEF и смотрим на урл

/index.php?option=com_content&view=section&layout=blog&id=2&Itemid=4

Панель администратора Joomla -> Все меню -> Главное меню -> Самая правая колонка под названием Itemid

для меню отличных от главного, делать по аналогии
*

Tamplier

  • Новичок
  • 5
  • 0 / 0
Спасибо DSergeev™. Но это немного не то, что требовалось.
Я обратился напрямую к разработчику Advanced Module Manager. И вот что он мне ответил:
Цитировать
Hmm, I think this in the php field could do the trick. I know, a little complex:
Код
$showonlevel = '2,3';

$getMenuParent = create_function( '$id',
 '$db =& JFactory::getDBO();
 $query = "SELECT parent FROM #__menu WHERE id = ".(int) $id." LIMIT 1";
 $db->setQuery( $query );
 return $db->loadResult();
');
$level = 0;
$menuid = JRequest::getInt( 'Itemid' );
while ( $menuid ) {
 $level++;
 $menuid = $getMenuParent( $menuid );
}
return ( in_array( $level, explode( ',', $showonlevel ) ) );
You can set the first variable to what you want. level 1 would be the top level. level 2 would be a sub level, level 3 a sub-sublevel, etc.
So in above code, the module would show on level 2 and 3 (sub and sub-sub menu items).
Для тех кто использует Advanced Module Manager, такой финт ушами будет интересен!  yes!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 6470
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 2148
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 3103
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 21398
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 2362
Последний ответ 01.03.2019, 11:12:18
от vasmed