drupal 7 Не могу получить значение поля из таксономии в шаблоне внутреннего представления

у меня есть представление, которое отображает кучу задач. Задача — это тип контента, одно из его полей — ссылка на таксономию, называемую темой. Тема таксономии имеет поле, которое ссылается на другую таксономию с именем подобласть. Поле таксономии подобласти содержит цвет. Я хочу изменить фон заголовка представления как цвет подобласти. Поскольку я новичок, я не знаю, как этого добиться. я мог только начать с переопределения моего шаблона представления. Но я не смог загрузить термин таксономии.

/* views-view-unformatted--aufgaben.tpl.php

   View reference field as a RELATIONSHIP:"field_task_themen" from taxonomy "Theme".
   Field from taxonomy "Theme" that reference to subarea taxonomy : field_tax_subarea_ref
   Field from subarea that store the color: field_tax_subarea_color 
*/

 // static color works
<?php
    $color ="green";
?>
<?php if (!empty($title)): ?>
    <h3 style='background-color: <?php print $color ?> '><?php $title;?>
    </h3>
<?php endif; ?>

person nemrrached    schedule 04.11.2017    source источник


Ответы (1)


Поскольку вы новичок, поздравляем, потому что вы переопределяете шаблон представлений, который не подходит для новичков.

Я предлагаю посмотреть шаблоны по умолчанию, которые можно переопределить, прочитать комментарии к этим шаблонам и обратить особое внимание на то, какие vars — это представления, которые вам передаются. Если ничего из этого вам не знакомо, вы можете переопределить шаблон и начать передавать переменные через функцию dpm, чтобы увидеть его содержимое.

По сути, вам нужно выбрать шаблон, который имеет доступ к идентификатору термина таксономии, а затем загрузить его с помощью taxonomy_term_load https://api.drupal.org/api/drupal/modules%21taxonomy%21taxonomy.module/function/taxonomy_term_load/7.x

На всякий случай простой способ «распечатать» значения переменных — это использовать функцию dpm, вы должны активировать модуль разработчика, чтобы получить доступ к этой функции.

Надеюсь, это поможет.

person Beto Aveiga    schedule 07.11.2017