Не подскажете как решить следующую задачу:
есть большое и многоуровневое меню сайта. В некоторых случаях в меню появляется 4-ый уровень. Но в случае выпадающего вертикального меню 4-ый уровень выглядит громоздко. Поэтому хочется, чтобы этот 4-ый уровень не показывался в выпадающем меню, зато был виден в виде набора ссылок непосредственно в контенте той страницы, которая открывается при клике на пункт третьего уровня, который содержит в себе этот 4-ый уровень.
ИМХО задача тривиальная, но я не нашел поиском решения. Возможно просто не знаю как это корректно сформулировать.
Читал описание модуля Menu block, который позволяет выводить любые части меню в какие угодно блоки. Но мне нужно не в блок, а непосредственно в контент и при этом чтобы система автоматически выводила ссылки меню 4-го уровеня на тех страницах, которые его содержат.
Комментарии
Создайте блок в контенте.
http://drupalace.ru/lesson/dobavlyaem-region-v-nodu-ili-kommentariy
Проверяйте глубину термина у материала.
Не хотите в блок, правьте в template.php function ИМЯТЕМЫ_preprocess_node(&$vars)
http://xandeadx.ru/blog/drupal/234
Приблизительно так
Почистить кэш?
чищу после каждого чиха. Тут наверное другое. Что-то я не понимаю глобально.
Вот есть папка с темой. Внутри папки есть файл page.tpl.php В этом файле выводится весь хтмл.
Для второстепенных страниц после условия
<?php
if(!$is_front) {
print render($page['content']);
}?>
для главной соответвенно
<?php
else{
print
render(разные блоки);}?>
то есть благодаря странице page.tpl.php я могу вывести все что угодно.
Зачем тогда нужны node.tpl.php и прочие подобные шаблоны на все случаи жизни? В системном node.tpl.php (я нашел его) тот же print render($content). Но если я вывод контента уберу из page.tpl.php ничего вообще не выводится. Не понимаю, когда работает файл node.tpl.php?
сдублировал системный node.tpl.php в папку со своей темой. Ничего не изменилось.
За все как и прежде отвечает page.tpl.php. Есть в нем вывод контента - контент выводится. Нет вывода - пусто.
с node.tpl.php разобрался. Более менее понял что к чему.