Есть вопрос.
В шестом Друпале когда мне надо было темизировать node.tpl я часто пользовался выводом значений cck полей следующим образом:
<?php if ($node->field_name[0]['value']!=''): ?>
<?php print $node->field_name[0]['view'] ?>
<?php endif; ?>
<?php print $node->field_name[0]['view'] ?>
<?php endif; ?>
но вот теперь перешел на Друпал 7 и возникла проблемма, этот код там не работает.
Может кто знает как это реализовывается на семерке?
з.ы.
Заранее очень благодарен за помощь.
Комментарии
$entity->{$field_name}[$langcode][$delta][$column_name]
Может я не доконца понял что такое $delta и $column_name или что другое, пробовал следующие варианты:
<?php $entity->{field_koordinaty}['ru'][0]['value'] ?>
<?php $entity->field_koordinaty['ru'][0]['value'] ?>
<?php $entity->field_koordinaty[0]['value'] ?>
<?php echo $entity->field_koordinaty['ru'][0]['value'] ?>
<?php echo $entity->{field_koordinaty}['ru'][0]['value'] ?>
но не сработало. Вполне допускаю что все варианты неправильно понял и написал так как php знаю %15 (тоесть практически незнаю совсем). Но всёравно большое спасибо.
Зато покопался в инете и нашел другой вариант и он сработал, если вдруг кому интересно:
<?php echo render($node->field_name['ru'][0]['value']); ?>
где field_name это имя поля
$node->field_koordinaty['ru'][0]['value']
На самом деле в 7-ке появился замечательный механизм срытия/вывода сск полей прямо из переменной $content
например:
<?php
print hide($content['field_myfield']);
print render($content);
print render($content['field_myfield']);
?>
а это действительно очень красивый вариант решения данной задачи.
Появилась еще одна интересная проблемка:
необходимо вывести поле "Ссылка на термин", но чтобы оно было не обернуто в ul li.
Найденный мной вариант
для поля "Ссылка на термин" пришлось подредактировать: вместо 'value' поставить 'name', но все равно вывод получается списком.
А вариант
хоть и красивый и очень мне нравится но помоему не поможет решить эту проблемму.
Может кто знает как это реализовать?
А можно как-то приписать своё значение после введённого? Если просто добавить его в нужное место через .="addthis"; то добавляемая строка вылетает из всех дивов, в которые обёрнуто значение поля и выпиливает всю верстку.
Коллеги, подскажите как посмотреть все поля которые можно вытащить из $content
+++
Можно воспользоваться модулем devel и в коде написать следующее:
и будут отображены все поля и элементы, входящие в $content;