2013-12-06 3 views
0

По разным причинам я использую термины таксономии для авторов. Каждый узел блога имеет поле ссылки на выражение - field_authors - в котором перечислены один или несколько авторов. То, что я хотел бы сделать, - показать описание термина для каждого автора, указанного на странице. Мои поисковые запросы онлайн получили мне следующий код, который я разместил в узле - blog.tpl.php сразу после заголовка сообщения в блоге.Отображение описания таксономии Drupal в узле

<?php 
$vid = taxonomy_vocabulary_machine_name_load("authors")->vid; 
$terms = taxonomy_get_tree($vid, 0, null, true); 
$term_count = count($terms); 
for ($i = 0; $i < $term_count; $i++) { 
$name = $terms[$i]->name; 
$id = $terms[$i]->tid; 
$description = $terms[$i]->description; 
?> 
<div id="<?php print $id; ?>" class="taxonomy-description"> 
<?php print $description; ?> 
</div> 
<?php } ?> 

Как вы, вероятно, можете сказать, он печатает все термины таксономии для словарей «авторы». Я хотел бы показать только описания терминов (авторов), перечисленных на этой странице.

Мне также приходит в голову, что могут быть лучшие способы достижения этого. Таким образом, любые лучшие предложения были бы наиболее оценены.

ответ

2

Я бы предложил использовать модуль Views и создать блок, который вы разместите над узлом.

1) Вид будет иметь вид «Термин таксономии». Создайте блок только.

New views of type taxonomy term

2) Добавить Связь с «таксономической Term: Материалы с использованием Авторы», так что вы сможете присоединиться к таблице узла с термином таксономии таблицы (в моем случае словарный запас Авторы)

Add a Relationship

3) Добавить контекстуальный фильтр «Содержание: Нид» для НИЗ узла, который отображается. Это связано с предыдущими отношениями.

Add a Contextual filter

4) Настройка параметров фильтра соответственно. Установите «Обеспечить значение по умолчанию -> Content ID из URL»

Configure the Filter

5) Добавить Term Описание поле или любое другое поле, которое нужно отобразить над узлом блога.

Add the Term Description field

6) Перейти к управлению Блок (администратор/структура/блок) и включить новый блок для отображения выше содержимого. Вы также можете установить это для отображения только для типа содержимого блога, но в любом случае, поскольку у нас есть контекстный фильтр для nid, это необязательно.

Add the block above content

7) Наслаждайтесь! Это простой пример силы взглядов и Drupal!

Taxonomy term description(s) above relative node

+0

Спасибо, что он работает! –