В термине таксономии создал поле "Описание" и мне нужно через это поле вместе с текстом вывести поле модель.
Пробую вставлять:
<?php print render($node->field_model['und'][0]['value']); ?>
Но ничего не выводится.
Как быть?
---------
UPD: Так вообще ошибку выдает
<?php
$field_tags = field_view_field('node', $node, 'field_model');
$output = render($field_tags);
echo render($output);
?>
Комментарии
От чего поле? От термина?
Куда вставляете?
Какую ошибку?
«От чего поле? От термина?»
В поле термина (описание) вывести поле материала (модель)
«Куда вставляете?»
В поле термина (описание) ((taxonomy/term/2147/edit))
«Какую ошибку?»
EntityMalformedException: Отсутствует связующее свойство у сущности типа node. в функции entity_extract_ids() (строка 7907 в файле /home/magdacco/public_html/emsoftware.ru/includes/common.inc
1. Ваш подход неправильный! Привязка идет термина к ноде, а не ноды к термину.
2. Из описания PHP работать не будет, а если и будет (что неправильно, низко-производительно и не безопасно) - Вам все равно нужно, как минимум загрузить туда нужную ноду, и тогда уже получать значения поля и выводить их.
3. Смотрите/читайте и работайте со следующими хуками:
Я вас понял
Спасибо, будем работать
А почему бы блок-вьюху для термина создать и выводить этот блок на страницах термина? Или там где вам надо.
Это отличная идея
Вот только у нас каталог на 100 категорий и в каждой должен быть свой текст.
Если выводить через термин такосномии, то в каждой категории можно вписать свой текст.
А если делать через блок, то текст везде один и тот же будет. Предположим можно наплодить 100 блоков с различными текстами, то так выводить нужный блок в товаре каждой категории. Если это была страница ноды, то можно было просто приинклудить по адресу. А это категория в которой сотни нод и в каждой нужно вывести один и тот же текст относящийся к термину.
"каталог на 100 категорий и в каждой должен быть свой текст.
Если выводить через термин такосномии, то в каждой категории можно вписать свой текст." - логично. Блок-вьюха будет один, в нем будет текст этого поля.
После 3-й строчки ничего не понял. Извините.
С Формулировками иногда у меня туго. Так что это вы извините
Я имел ввиду следующее:
Есть 100 терминов и в каждом из них в специальном поле "Информация" прописан определенный текст который для каждой категории разный.
Если делать по вашему примеру и создать вьювс с текстом выведя его через темизированый файл. То получится так, что зайдя в любую категорию, мы увидим один и тот же текст прописанный во вьювсе.
Но вы подтолкнули меня на решение. Я поступил так
1) Создал вьювс с контекстным фильтром "Содержимое: Nid"
2) Вывел поле "Модель"
3) В термине таксономии в специальном поле прописал
<?php
$block = module_invoke('views', 'block_view', 'name-block');
print render($block);
?>
Пожалуйста, но яимел ввиду вьюх типа термин и аргумент там tid, а не nid.
Вообще то что вы пописываете в файлах для вывода информации я редко делаю. Мне просто не удобно. Обычно все вывожу через вьюхи.
Текст будет браться из поля вне зависимости от того, сколько блоков Вы создадите. Также эту задачу можно решить через DS, экономичней по ресурсам должно быть. Попробуйте.