
ViJu
Drupal 6. Разные виды списков для терминов из разных словарей
Очень частно нужно выводить содержание разделов, которые относятся к разным словарям по разному.
Т.е. например, для термина из словаря Catalog нужно выводить только короткое содержание соответствующих нодов (node teasers), а для словаря Tags нужно выводить только заголовки,
или например, для Catalog нужно выводить ноды с картинками, а для Tags - без них.
При этом основная страница терминов в Drupal - taxonomy/term/[tid], и по умолчанию показываются в виде ссылок в конце нода.
1 вариант.
Построение списков терминов (это может быть как view, так и обычная страница термина таксономии, когда view не используется) на основе короткого содержания нода (node teaser).
Вариант работает, когда термины из разных словарей присваиваются нодам, представляющим разные типы контента.
Например, теги присваиваются нодам с типом блог, а термины каталога
присваиваются только продуктам.
В этом случае в шаблонах для каждого типа контента (в нашем примере node-blog.tpl.php и node-product.tpl.php)
определяем как будет выглядеть его короткое содержание
(teaser) и(или) настраиваем вывод CCK полей для короткого содержания в настройках вывода полей соответствующего типа контента.
2 вариант.
Создаем списки с помощью view, а ссылки формируем самостоятельно в теме.
Но здесь возникает проблема, связанная с тем, что для всех списков терминов используется один и тот же url:
taxonomy/term/[tid].
С помощью pathauto может быть добавлен alias в зависимости от того, к какому словаря принадлежит термин.
Но для views все равно это будет бесполезно.
Если вы выводите ссылку на страницу терминов в определенном месте самостоятельно, т.е. вы можете изменить формирование самого урла на страницу термина, то вы можете создать отдельный view с этим урлом и таким образом выводить определенные термины по-другому.
Например, можно не выводить список всех терминов нода,
а показывать только термины из словаря тегов, переопределив вывод
терминов в template.php.
3 вариант. Модуль taxonomy_redirect.
С помощью модуля taxonomy_redirect можно изменить пути для терминов таксономии (модуль не создает элиасы, а использует хук hook_term_path).
После определения нового урла для терминов определенного словаря,
можно создать view с этим урлом.
И так образом быть полностью уверенным, что все ссылки на термин данного словаря будут выглядеть именно так как надо, а сами списки будут выглядеть отлично от остальных словарей.
например:
http://example.com/myvoc?tid=!tid

еще есть модуль TVI
Спасибо, да, выглядит как то, что нужно )
Отправить новый комментарий