Такая задачка:
Сайт состоит из нескольких разделов (для примера):
- кино
- вино
- домино
Как сделать в каждом разделе блок-меню с линками на статьи этого раздела. Т.е. на морде блок с линками всех статей (например по 20 на лист и ссылкой внизу "далее" или что-то вроде того), а когда заходишь в раздел, в этом блоке отображаются линки только на статьи этого раздела? Возможно ли это?
Комментарии
Модули taxonomy + views "помогут отцу".
ок, ща гляну, спасибо
модули поставил, можно чуть подробнее?
Для того, что бы впечатать меню в блок можно использовать следующий код (размещается в теле блока)
<?php
$mid = 19;
print theme('menu_tree', $mid);
?>
19 - это id элемента меню, все потомки которого будут впечатаны, его можно узнать на странице /admin/menu если навести указатель на ссылку "edit"
А как подсветить родительский пункт меню?
Я сделал в "основных ссылках" ссылки "кино", "вино", "домино".
Сделал словарь с терминами "кино", "вино", "домино".
При создании материала в стори появляется поле "рубрика", в которую я вставляю один из терминов.
Сделал алиансы для рубрик.
На готовой странице появляется линк "кино" (допустим), нажимаем, он ведет в раздел "кино". То же самое если нажимать на ссылки в "основных ссылках".
Это все работает.
Сделал новый блок "меню для кино", в него скопировал вышеприведенный код и поменял id, посмотрел на /админ/меню (тот же что и при алиансе я менял, так?).
Пока ничего не происходит.
Что не так?
> Сделал новый блок "меню для кино", в него скопировал вышеприведенный код
фильтр PHP?
Очень важно:
структура Вашего меню:
- Разделы (mid=19)
--- Кино (mid=20)
--- Вино (mid=21)
--- Домино (mid=22)
Если Вы в коде укажете mid=19 то в блоке впечатается:
- Кино
- Вино
- Домино
Я сделал, но, видимо, неграмотно. РНР не пригодился:)
Не уверен, смогу ли я толково объяснить что вышло.
Я сделал 4 (условно к вышеприведенному списку) вьюверса:
menu_links (общий)
menu_links_kino
menu_links_vino
menu_links_domino
Пришлось малеха повозиться с настройками - для каждого сделал фильтр (выбор по термину из словаря) и пр.
В "блоках" сделал 4 блока, все на одном месте, но для разных разделов.
Вроде все работает. Пока:)
Такое вот народное творчество - вышивание крестиком.
Минус - для каждой страницы придется делать алианс (синоним).
Всем спасибо.
Вообще, есть много вопросов, надеюсь на вашу помощь.
Может быть дело в том, что стандартная таксономия не создает меню автоматом.
Модуль Category автоматически создает меню.
Приобнял меня щас Кондратий, конечно!
Для начала чуть предыстории:
Друпал я поставил где-то неделю назад.
Поставил, русифицировал, накачал модулей и дня 3 смотрел на него, как баран. Читаю - зайти в категории, добавить словарь. Захожу в категории - нет никаких словарей, какие-то контейнеры, что с ними делать не понятно.
Снес все подчистую.
Поставил заново, теперь только англ. версию и без всяких модулей. Все просто и понятно. По ходу дела добавил пару-тройку модулей. Настроил... криво-косо, не знаю, но совершенно мне прозрачно. Понятно как работает. Потом, кстати, русифицировал (предварительно сделав копию сайта) - все прекрасно, местами по-русски.
Ну думаю, ладно, посмотрим что там делает модуль "категории". Поставил, открываю - и тут пришел Кондратий. МАМА ДОРОГАЯ!!! Где мои словари, где что? Опять контейнеры.
Я делал периодически копии сайта. Нашел более-менее последнюю....................................
Ну правильно, словари в терминалогии стандартной таксономии - они же контейнеры в терминалогии модуля категорий (это сторонний модуль). Смысл один, название разное дабы не путаться какую систему используете.
Кстати при включении обоих модулей в меню "администрирование" появляются два одинаковых пункта "категории" тока один админит таксономию, а другой модуль Category.
В модуле Category есть прелесная вещь - обертка для таксономии. (wrapper). Когда она включена, то происходит как бы подмена системной таксономии на категории. Все модули Друпал думают, что работают с таксономией, а на самом деле работают с категориями.
Я понимаю, что я многого не понимаю. Но пока это слишком сложно для меня. Опыт работы с Друпалом 2 недели:)
см. здесь http://drupal.ru/node/3765
но подсвечивается именно родительский пункт