Як отримати значення поля вузла?


9

У node.tpl.php я намагаюся отримати вихідне значення, але проблема полягає в тому, що коли я використовую візуалізацію:

<?php print render($content['field_price']);?>

воно не просто повертає значення field_image, але форматує та виводить ціле зображення.

Мені потрібен спосіб отримати лише сировину поля. Як я можу цього досягти?

Відповіді:


7

Щоб отримати реальну цінність, а не тематичну ...

Ви можете використовувати http://api.drupal.org/api/drupal/modules!field!field.module/function/field_get_items/7

 $my_field_items = field_get_items('node', $node, 'field_my_field');

Або скористайтеся модулем API Entity та об'єктом_metadata_wrapper

 $node_wrapper = entity_metadata_wrapper('node', $node);
 $field_val = $node_wrapper->field_test->value();

Візьміть награб також на http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way


4

У шаблоні вузла для необроблених значень ви можете отримати доступ до $nodeоб'єкта.

<?php print $node->field_price; ?>

Якщо вам потрібно побачити структуру, можете зробити <?php print_r($node); ?>.

Крім того, якщо це для конкретного типу вмісту, ви повинні використовувати варіант node.tpl.php замість самого node.tpl.php, або ж він спробує відобразити поля, які не існують для інших типів вмісту.


3

увімкніть модуль Devel і в node- {content-type} .tpl.php використання

<?php print dsm($node); ?>

поверх коду.

ви можете побачити всі поля $ node у читаному форматі

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.