Добрый день !
Есть шаблон node--[тип узла].tpl.php.
И есть в нём переменная $content.
Такой вопрос.
Каким образом можно получить доступ к определенному полю этого узла через переменную $content ?
Например, есть поле body (где текст) или еще какое-нибудь ССК-поле. И его надо разместить где-то в определенном месте.
А то получается, что функция render($content) выводит всё содержимое узла одно за другим, а это не всегда удобно.
Или хотя бы на каком уровне устанавливать порядок размещения информации в узле ?
Комментарии
render($content['поле'])
Я не совсем то имел в виду.
Например, у меня есть дополнительное поле типа date из модуля Date.
Если я просто напишу render($content['field_date']), то я получу следующее:
Дата новости:
среда, August 8, 2012
Если я напишу просто print $content['field_date'], то окажется, что этот элемент в свою очередь представляет собой некий массив.
А как вот получить именно само значение этого поля, чтобы в данном случае можно было вычленить из него год, месяц, день и т.д ?
print_r($node->field_date);
Понятно, спасибо большое !
А скажите пожалуйста, если я в файле node-[тип узла].tpl.php буду работать с данными следующим образом:
$dt=$node->field_date['und'][0]['value'];
...
// Далее из $dt вычленяю год, месяц, день и т.д. и вывожу их где-то в шаблоне
Такой подход не будет являться каким-то логическим нарушением формирования страницы Друпала ?
То есть, получается, я работаю в обход массива $content.
Или более правильно будет предварительно вычислить эту информацию где-то до запуска файла шаблона node-[тип узла].tpl.php, чтобы
там уже определить значения $content['aday'], $content['amonth'] и $content['ayear'],
а в файле node-[тип узла].tpl.php просто эти значения выводить ?
P.S. Прошу прощения за назойливость, в Друпале я пока еще начинающий
более правильно написать форматтер, либо темизировать поле