Программный вывод полей

Опубликовал Максим Баев, 21 апреля 2014, 14:42

Существует несколько способов, чтобы вывести какое-либо поле, настроенное в типе материала. К примеру, изображение, открываемое в pop-up'е colorbox можно вывести так:

Вариант 1

<?php
$output = '';
$node = node_load(1);
// получаем список значений поля в выбранной ноде
$items = field_get_items('node', $node, 'field_image');
foreach($items as $item){
  // получаем массив параметров, необходимых для рендеринга
  $field_value = field_view_value('node', $node, 'field_image', $item, array(
    'type' => 'colorbox',
    'label'=>'hidden',
    'settings' => array(
      'colorbox_node_style'  => 'image_style', // какой-то стиль изображения или null
      'colorbox_image_style' => 'image_style', // какой-то стиль изображения или null
      'colorbox_gallery'     => 'none', // не нужна галерея
      'colorbox_caption'     => 'none'  // не нужна подпись
    )
  ));
  // рендерим поле и добавляем к выводу
  $output .= drupal_render($field_value);
}
print($output);

Вариант 2

<?php
$node = node_load(1);
$image = field_view_field('node', $node, 'field_image', array(
  'type' => 'colorbox',
  'label'=>'hidden',
  'settings' => array(
    'colorbox_node_style'  => 'image_style', // какой-то стиль изображения или null
    'colorbox_image_style' => 'image_style', // какой-то стиль изображения или null
    'colorbox_gallery'     => 'none', // не нужна галерея
    'colorbox_caption'     => 'none'  // не нужна подпись
  )
));
print(drupal_render($image));

Теперь, где брать тип и настройки? В управлении отображением поля: image

И расширенно о настройках. image

Другие посты