Есть ли способ подавить вывод узлов на страницах таксономии, не устанавливая модуль (т.е. просто в template.php)?
Узлы, помеченные термином таксономии, отображаются на «странице индекса таксономии» (например, yoursite.com/taxonomy/term/[id]).
Новое в Drupal 7, страницы таксономического индекса могут иметь прикрепленные к ним поля. Однако если вы попытаетесь перевернуть страницу таксономии с помощью представления (например, для управления отображением узлов), поля на страницах индекса таксономии не появятся.
Поэтому я разместил свое представление таксономии как блок на странице индекса таксономии. Таким образом, я могу контролировать, как появляются узлы и все еще имеют поля страницы индекса таксономии.
Из-за этого страница таксономии все еще выводит свои узлы. Я могу скрыть их, установив тизер узлов скрытым, но он по-прежнему загружает узлы (и, следовательно, любой CSS / Jquery, присоединенный к узлам, даже если узлы не отображаются). Как я могу подавить появление узлов, в идеале из template.php?
источник
Ответы:
Я знаю, что нужно решение без модуля, но в Drupal 7 есть модуль, который делает именно то, что вам нужно: отключить списки узлов термина
Это позволяет вам выбирать по словарю, если вы хотите отключить вывод списка терминов.
источник
Решение от http://www.wardontheweb.com/remove-node-lists-from-taxonomy-pages-in-drupal-7/ работает для меня хорошо:
Примечание: вы должны сбросить кеш вашего сайта.
источник
Вы должны удалить узлы из переменной $ page.
В template.php вы можете сделать это так:
В вашем page.tpl.php используйте этот код:
Это удаляет узлы из всех словарей и терминов . Если вы хотите удалить их только из определенных терминов или из всех терминов из словаря, используйте
arg(2)
его,tid
чтобы загрузить термин, а затем обновите оператор if.источник
Вы можете делать практически все что угодно в template.php, но это не рекомендуется. Смысл использования CMS заключается в том, что вы разделяете данные, поведение и внешний вид. Файл template.php является частью тематического слоя, и вы должны использовать его для настройки визуального стиля вашего сайта.
Если вы хотите настроить поведение сайта (в данном случае: контролировать, какие элементы отображаются в определенном списке), вам нужно изменить поведение, поэтому вы устанавливаете и настраиваете модули. Если вы хотите создавать собственные списки содержимого, модуль Views - это именно то, что вам нужно.
В вашем случае (если я правильно понимаю) вы хотите, чтобы поля таксономического термина отображались над списком узлов, помеченных этим термином. Вы можете воссоздать его в своем представлении, создав блок представлений, который берет идентификатор термина из URL и отображает необходимую информацию.
источник
Я использовал CSS, чтобы скрыть элементы таксономии, но установил их отображение на заказ и отключил их, что кажется лучшим вариантом.
источник