Вопрос по field, drupal, printing, render – печатать только значение drupal field_view_field

11

Я использую приведенный ниже код для распечатки поля узлов в определенных областях, и это прекрасно работает. Но есть случай, когда я просто хочу напечатать значение поля без метки. Кажется, это должно быть довольно легко, но у меня есть небольшая проблема. Я буду признателен за любую помощь, так как я довольно новичок в Drupal. Спасибо

<?php 
  print drupal_render(field_view_field('node', $node, 'field_description')); ?>

Ваш Ответ

1   ответ
29

field_view_value() занимает$display аргумент, который вы можете использовать, чтобы скрыть метку:

$view = field_view_field('node', $node, 'field_description', $display);
print drupal_render($view);

Если вы просто хотите извлечь необработанное значение поля, вы можете использоватьfield_get_items() вместо:

$items = field_get_items('node', $node, 'field_description');
$first_item = array_shift($items);
$description = $first_item['value'];

Название столбца ($first_item['whatever']) будет зависеть от типа поля, которое вы используете. Для текстовых полей это будетvalue, Не забудьте дезинфицировать вход сcheck_plain() перед тем, как вы выводите его в соответствии с соглашением Drupal, необходимо сохранить необработанные входные данные и очистить их после вывода.

Благодарю. Это именно то, что я просил. Но у меня возникла проблема с тем, что я пытаюсь сделать. Я пытаюсь напечатать значение поля в ссылке, например, такой: ? & GT; & Quot; Есть ли способ напечатать только значение поля, не обернутого в div? Еще раз спасибо John Phelan
Как я могу получить только одно значение, если есть больше, чем на значение, используя field_view_field ()
Спасибо, ваш классно работал отлично !!! John Phelan
Да, для этого есть другая функция API, я обновил ответ

Похожие вопросы