Я использую для этого модуль Display Suite (там в числе прочего есть возможность создавать кастомные поля на основе токенов), но он весьма тяжёлый. Если нужно только это, есть специализированные модули с именами типа Token Field и т.п., я бы в них порылся.
PS Вот этот вроде бы делает то, что надо: https://www.drupal.org/project/field_token_value
Спасибо за подсказку, мне это и нужно. вывести фото чтоб самому управлять куда и где поставить. еще бы знать как правильно выводить) в php можно через принт_р посмотреть что там в переменной
Комментарии
Может создать блок вьюху с изображением?
нет, нужно вывести в ноде в странице фото бренда
Я использую для этого модуль Display Suite (там в числе прочего есть возможность создавать кастомные поля на основе токенов), но он весьма тяжёлый. Если нужно только это, есть специализированные модули с именами типа Token Field и т.п., я бы в них порылся.
PS Вот этот вроде бы делает то, что надо: https://www.drupal.org/project/field_token_value
Сначала укажите версию друпал
друпал8, обновил вопрос.
а можно как то:
<?php
function alvatex_preprocess_node(&$variables){
$node = $variables['node'];
if (!empty((
$term_brend)->first())) {$tid = $node->get('field_brend')->first()->getValue()['target_id'];
$term = taxonomy_term_load($tid);
$photo = $term->get('field_foto')->first()->view();
// photo- переменная, которая будет выводить содержимое в twig
$variables['photo'] = $photo;
}
}
?>
у меня только ошибка Error: Call to a member function get() on null
Вообще, это можно только твигом сделать, препроцессы не нужны.
Из ноды берете таксономию, в ней берете файл
https://gist.github.com/raphaellarrinaga/c1d71f69873c967ff74f8ec09cbdf9e1
Спасибо за подсказку, мне это и нужно. вывести фото чтоб самому управлять куда и где поставить. еще бы знать как правильно выводить) в php можно через принт_р посмотреть что там в переменной
Кстати да, отличный вариант, если не лень шаблоны править.
<div class="product-brand">{{ node.field_brend.entity.name }}</div>
выдает ошибку. как правильно обращаться подскажите пожалуйста
<div class="product-brand">{{ node.field_brend.entity.name.value }}</div>
node.field_brend.entity.field_foto - ??
а фото еще подскажите?
вопрос снят, всем спасибо за помощь!
{{ file_url(node.field_brend.entity.field_foto.entity.uri.value) }}
Можно решить задачу вообще без кодинга, используя режимы отображения сущностей.
возможно, но фото нужно поставить в определенном месте самой верстки страницы