Сделаны термины таксономии и к ним поле изображение. Задача через тип материала или шаблон вывести поле с изображением таксономии. Как это проще всего сделать? В идеале через шаблон страницы вывести это поле, но вот так не работает <?php print render($content['field_image']); ?>
Как это проще всего сделать?
Как вывести картинку к термину таксономии?
Главные вкладки
Лучший ответ
1
tehfoxen wrote:... почему-то там ... Не пойму в чем проблема.
Потому что код выше грузит только один первый термин [0].
Хотите multiple - выводите в цикле. Как-то так, например:
<?php
// field_tags - поле термина в материале
foreach ($node->field_tags['und'] as $delta) {
$term = taxonomy_term_load($delta['tid']);
// 'field_image' - поле изображения в термине
$result = field_view_field('taxonomy_term', $term, 'field_image');
print render($result);
}
?>
Точно не помню уже, как в 7-ке, но может ещё понадобится проверка на скалярное/числовое значение текущего ключа (хотя скорее всего это лишнее):
<?php
// field_tags - поле термина в материале
foreach ($node->field_tags['und'] as $key => $delta) {
if (is_numeric($key )) {
$term = taxonomy_term_load($delta['tid']);
// 'field_image' - поле изображения в термине
$result = field_view_field('taxonomy_term', $term, 'field_image');
print render($result);
}
}
?>
Комментарии
Путаница какая-то.
1.
Через шаблон типа материала или таки шаблон термина?
2.
Опять же вопрос: из какого именно шаблона вы это намерены вывести? Если в контексте taxonomy-term.tpl.php, то это поле должно быть доступно. Если в контексте обычной страницы ноды, то всё немного сложнее.
через шаблон типа материала, обычной страницы ноды. Все поля туда выведены программно.
Я не знаю id ваших полей, но вообще можно как-то так:
<?php
// field_tags - поле термина в материале
$term = taxonomy_term_load($node->field_tags['und'][0]['tid']);
// 'field_image' - поле изображения в термине
$result = field_view_field('taxonomy_term', $term, 'field_image');
print render($result);
?>
Спасибо! Одна только проблема, почему-то там где вывод нескольких терминов таксономии на страницу выводится только одна картинка. Не пойму в чем проблема.
Потому что код выше грузит только один первый термин [0].
Хотите multiple - выводите в цикле. Как-то так, например:
<?php
// field_tags - поле термина в материале
foreach ($node->field_tags['und'] as $delta) {
$term = taxonomy_term_load($delta['tid']);
// 'field_image' - поле изображения в термине
$result = field_view_field('taxonomy_term', $term, 'field_image');
print render($result);
}
?>
Точно не помню уже, как в 7-ке, но может ещё понадобится проверка на скалярное/числовое значение текущего ключа (хотя скорее всего это лишнее):
<?php
// field_tags - поле термина в материале
foreach ($node->field_tags['und'] as $key => $delta) {
if (is_numeric($key )) {
$term = taxonomy_term_load($delta['tid']);
// 'field_image' - поле изображения в термине
$result = field_view_field('taxonomy_term', $term, 'field_image');
print render($result);
}
}
?>
https://drupal.ru/node/141771
К дисплею термина в настройках добавьте показ картинки через стили.
Через views это проще всего сделать.
точно