Здравствуйте.
Впервые решил воспользоваться темой danland (очень правильно подошли регионы). Все бы хорошо, но возникла проблема - в стандартном меню этой темы нет (!) подменю.
То есть в настройках можно указать пункты подменю, но они не выводятся - их нет в html коде который выдает менюшка.
Суперфиш меню показывает в коде подменюшки, но при установке из коробки они не выпадают (видимо надо шаманить). Да и не хочется ставить доп модули (суперфиш и тп).
Вот код менюшки:
<?php<div id="menu">
<div id="rounded-menu-left"></div>
<?php if ($main_menu || $page['superfish_menu']): ?>
<div id="<?php print $main_menu ? 'nav' : 'superfish' ; ?>">
<?php
if ($main_menu) {
print theme('links__system_main_menu', array('links' => $main_menu));
}
elseif (!empty($page['superfish_menu'])) {
print render ($page['superfish_menu']);
}
?>
</div> <!-- end primary -->
<?php endif; ?>
<div id="rounded-menu-right"></div>
</div> <!-- end menu -->?>
Вопрос: как заставить стандартное меню этой темы выдать подменюшки?
PS: сюда http://www.drupal.ru/node/81883 не отправлять, там не решение проблемы
Комментарии
Пробовал так:
строку:
print theme('links__system_main_menu', array('links' => $main_menu));
менял на такие варианты:
<?php print theme menu tree(menu tree($main_menu='links')); ?> (без <?php и ?> - просто чет не оформляется как код в этом комментарии)
<?php print theme menu tree(menu tree($main_menu='links__system_main_menu')); ?>
<?php print theme menu tree(menu tree($menu_name ='links')); ?>
<?php print theme menu tree(menu tree($menu_name ='links__system_main_menu')); ?>
не помогло. Может надо было менять строку:
<?php
В php не силен, подскажите логику стандартного вывода (который я привел выше):
Я понимаю так:
1. блок с id menu
2. блок rounded-menu-left (нафиг мне не нужен - оформление левого края менюшки)
3. <?php if ($main_menu || $page['superfish_menu']): ?> - если на стрнице есть $main_menu или суперфиш
4. То вывести его, назвав nav или superfish
5. if ($main_menu) { - если есть только $main_menu
то вывести links__system_main_menu (что это?) и массив ссылок из main_menu
6. Иначе вывести $page['superfish_menu']
и тд...
все-таки не понимаю, какая часть кода отвечает за вывод именно ПОДМЕНЮ?
А если:
1) создать другое меню и напихать в него все нужные пункты с подпунктами;
2) вывести это меню (в разделе Блоки) в нужном регионе сайта; и
3) если в коде появятся (а они по-любому появятся) пункты вместе с подпунктами, то дополнить это меню соответствующим модулем или компонентом jQuery, чтобы при наведении (или нажатии) на родительский пункт меню, выпадали дочерние пункты.
Спасибо за советы, но:
1. Стандартные менюшки, доступные в блоках при выводе в любом регионе не выдают подменю (хотя элементы списка (list-style) меняются - для элементов у которых есть выпадающие части)
2. При использовании Суперфиш меню выпадающие элементы в коде появляются - можно сделать, используя сторонние модули.
Я хотел бы средствами темы вывести, а в php и функциях друпала не силен.
Хотя бы ткните что почитать конкретно про вывод меню и подменю в друпале, а то ничего стоящего не нашел (видимо плохо искал)?
1) А на других темах меню нормально отображается?
2) И я писал не о стандартных меню, которые по умолчанию создаются Друпалом, а про новое меню, созданное тобой, то есть создай новое меню, выведи его в нужный регион, и посмотри результат.
В массиве $main_menu (array) находятся только родительские ссылки нулевого увроня. Можно, наверное как-то препроцессить и темизовать, но не лучше ли (для перформанса) поставить там новый регион $page['header'], и вывести туда блок с главным меню?
<?php
<div id="menu">
<div id="rounded-menu-left"></div>
<?php if(isset($page['header'])): ?>
<?php print render($page['header']); ?>
<?php endif; ?>
<div id="rounded-menu-right"></div>
</div> <!-- end menu -->
?>
Потом с ccs спокойно подправить под старый стиль, если он так сильно понравился.
В смысле новое меню, созданное в Структура - Меню? тоже не дают результата
Заметил тут: в этой теме подменю можно вывести через secondary links, т.е. если в настройках меню указать для примари и секондари одно и то же меню, то подпункты появляются в подвале) Но мне так не надо, нужно обычное выпадающее
В других темах нормульно
Радист, щас попробую, спасибо
Nice Menus - видео
jquery menu
DHTML Menu
Модули для того и созданы, чтобы с их помощью добиваться нужного функционала в Друпале, так что не страдай х....нёй - качай. XD Без обид.
видимо придется так и сделать, моих знаний маловато оказалось. Но я против использования модулей там, где можно обойтись без них, друпал и так тяжеловат
Всем добрый день. Подскажите, пожалуйста, как можно изменить положение ссылок меню в теме danland, чтобы они были не внизу, а сверху. И чтобы заголовок страниц сайта был не внизу, а сверху? Очень нужно.
Всем добрый день. Подскажите, пожалуйста, как можно изменить положение ссылок меню в теме danland, чтобы они были не внизу, а сверху. И чтобы заголовок страниц сайта был не внизу, а сверху? Очень нужно.
Вот скрин необходимых изменений