Часто надо, чтобы нода определенного типа или определенной категории была привязана к пункту меню. Раньше я для этого делал мини-хаки в hook_nodeapi, а на днях наконец навоял модуль с админским интерфейсом.
С помощью модуля можно создавать правила, которые хранят в табличке. Правило включает: тип публикации, 0-2 термина, пункт меню, вес правила. При просмотре ноды в полном режиме просматриваются все правила и если срабатывает правило, то нода прицепляется к указанному в правиле пункту меню.
Пример использования:
1) Есть тип ноды "проект", созданный в cck. Есть страница"проекты", созданная во views. Эта страница "проекты" находится в меню в разделе "О компании". Если кликнуть в списке проектов на проект, то показывается полная инфа по проекту, но теряется breadcrumb и позиция в меню. Решеение: добавляем правило, чтобы все ноды типа "проекты" попадали в раздел "проекты".
2) Есть тип "новость" и ленты новостей есть в различных разделах сайта (опять же cck+views). Например, новости в разделе "о компании", новости в разделе "партнерам". Для этого для новостей создана таксономия, которая используется при создании view и опять же которую можно использовать для привязки новостей к нужному разделу с помощью этого модуля. В этом случае делаем 2 правила на основе терминов таксномоии и позиция в меню будет правильная при выборе новости из ленты новостей.
Вложение | Размер |
---|---|
node_breadcrumb.zip | 8.66 КБ |
Комментарии
Интересно, погляжу, спасибо!
Судя по описанию - очень нужная вещь! Оценим
.
спасибо, полезная штука
Большое спасибо за модуль! Как говориться - то, что нужно!
ИМХО будет полезен многим, так как позволяет избавится от необходимости два раза выбирать принадлежность материала для нормальной навигации (сначала таксономию, потом пункт меню).
Запостил на drupal.org: http://drupal.org/project/node_breadcrumb
Обновил - теперь дополнительно к правилам можно условие на PHP дописывать. http://drupal.org/project/node_breadcrumb тут лежит.
а есть вариант использовать два отличных друг от друга breadcrumbs?
Один конкретно по одному словарю.
А второй стандартный.
Ну соответсвенно размещённых в template в разных местах.
В page.tpl.php можно что угодно разместить.
В page.tpl.php $breadcrumb - отвечает за эту навигацию.
Что бы сделать две разных навигации, например одна taxonomy breadcrumb а вторая nodebreadcrumb, что нужно?
Огромное спасибо, очень помогло, жутко хороший модуль
Изящное решение проблемы! Спасибо огромное!)
P.S. Последняя версия модуля у вас обозначена как RC1. Это говорит о наличии каких-то недоработок? Можно ли использовать модуль на рабочих проектах?
Багов не замечено. Основная недоработка в том, что нельзя изменять правила — только удалять и создавать новые.
а можно заставить модуль реагировать на Localization?? чую, что надо копать в сторону Additional PHP condition, а какое условие проверки применить - не пойму.
а какое условие проверки применить - не пойму.
Например, $GLOBALS['locale'] == 'en'
спасибо, помогло.
Большое спасибо! Еще бы экспорт/импорт правил добавить...
последнюю версию лучше брать с http://drupal.org/project/node_breadcrumb
При включении функции "Объединение и сжатие файлов CSS":
warning: file_get_contents(sites/all/modules/node_breadcrumb/node_breadcrumb.css) [function.file-get-contents]: failed to open stream: No such file or directory in /home/e38/e38.nichost.ru/docs/includes/common.inc on line 1523.
Это 5.x-2.0-rc2
точно rc2? в предыдущей версии забыл css-файл добавить... в rc2 ща скачал - есть файл
Вру, RC1... Я руками пустой добавил, помогло.
Спасибо за модуль!
Насколько я понял он по типу ноды выводит нужный breadcrumb.
А например, новости в разделе, у которых нет персонального пункта меню, но есть обобщающий пункт раздела, он делает активным?
На быструю руку опробовав данный модуль этого не увидел. Может что не правильно делаю?