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

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

Шаблон Master2. Как правильно сконфигурировать меню

 (Прочитано 148 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ShfVD
Живу я здесь
******

Репутация: +65/-0
Offline Offline

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



« : 01.08.2016, 21:08:58 »

По дефолту в шаблоне стоит  Navbar меню и выводится оно не шаблоном модуля меню, а как то через  Warp.
Мне же нужно вывести Subnav меню.
Где это настраивается/переключается?
« Последнее редактирование: 01.08.2016, 21:12:21 от ShfVD » Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #1 : 01.08.2016, 22:55:08 »

1. Не выводить меню в позиции menu
2. По умолчанию subnav выводится в позициях:
Код
...
else if (in_array($widget->position, array('toolbar-l', 'toolbar-r', 'footer'))) {
...
(см. файл widget.php, строка примерно 55)
3. Можно добавить свою позицию и дописать ее имя в код, приведенный выше. И уже в ней выводить свое меню
Записан
AlekVolsk
Профи
********

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

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



« Ответ #2 : 01.08.2016, 23:44:00 »

/layouts/widget.php:
Код
// Render menu
if ($widget->menu) {
 
// Set menu renderer
if (isset($params['menu'])) {
$renderer = $params['menu'];
} else if (in_array($widget->position, array('menu'))) {
$renderer = 'navbar';
$widget->nav_settings["modifier"] = "uk-hidden-small";
} else if (in_array($widget->position, array('toolbar-l', 'toolbar-r', 'footer'))) {
$renderer = 'subnav';
$widget->nav_settings["modifier"] = "uk-subnav-line";
       if ($widget->position == 'footer') $widget->nav_settings["modifier"] .= " uk-flex-center";
} else if (in_array($widget->position, array('offcanvas'))) {
$renderer = 'nav';
$widget->nav_settings["modifier"] = "uk-nav-offcanvas";
} else {
$renderer = 'nav';
$widget->nav_settings["accordion"] = true;
}
 
$content = $this['menu']->process($widget, array('pre', 'subnav', $renderer, 'post'));
}
 
для каждой позиции указывается свой суффикс-класс, приписываемый к "uk-", просто поменять значение $renderer на необходимое
$widget->nav_settings["modifier"] - это доп.класс(ы)
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #3 : 01.08.2016, 23:54:24 »

В принципе, согласен.
Так проще.
Записан
ShfVD
Живу я здесь
******

Репутация: +65/-0
Offline Offline

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



« Ответ #4 : 02.08.2016, 00:33:54 »

Создал позицию, все сложилось, но меню то многоуровневое. Засада. До widget.php еще не добрался.
Думал вернуться к первоначальной затее - костыль CSS  на navbar.
Уже бы сделал  Grin
Но попробую воспользоваться постом AlekVolsk
Записан
Страниц: [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