Декомпозиция полей в Drupal 7 CCK из $ content в файле node.tpl.php - PullRequest
0 голосов
/ 25 марта 2012

После долгого квеста, наконец, я получил решение для разделения $ content в Drupal 7 в node.tpl.php.

Ранее я использовал, я использовал:

print $node->field_name['und'][0]['value'];

Который давал предупреждение:

Notice: Undefined offset: 0 in include() (line 24 of C:\xampp\htdocs\drup\sites\all\themes\myCustomTheme\node.tpl.php)

Теперь я использую функцию ниже, которая прекрасно работает без ошибок

$output= field_get_items('node', $node, 'field_name');
$output = $output[0]['safe_value'];
print $output;

Теперь проблема в том, что у меня более 50 полей на страницеЯ не думаю, что было бы эффективно вызывать функцию field_get_items ('node', $ node, 'field_name') 50 раз.

Что является альтернативой?ИЛИ я должен строго соблюдать функцию field_get_items ИЛИ должен ли я строго соблюдать print $ node-> field_name ['und'] [0] ['value'];который я слышал, не очень хорошо использовать в Drupal 7, так как он не определен.Это хотя и решает мою проблему, но дает раздражающие предупреждения.

1 Ответ

0 голосов
/ 25 марта 2012

В вашем шаблоне вы должны иметь доступ к переменным, которые были предварительно обработаны ранее.

Каждое ваше поле на самом деле является переменной, поэтому вы можете сделать $ field_name [LANGUAGE_NONE] [0] ['safe_value']

Чтобы избавиться от уведомлений об ошибках, я предлагаю вам использовать функцию isset ()

...