You are here

function nodequeue_reference_field_formatter_view in Nodequeue reference 7

Implements hook_field_formatter_view().

File

./nodequeue_reference.module, line 205
Form field type for node queues.

Code

function nodequeue_reference_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
  $element = array();
  switch ($display['type']) {
    case 'nodequeue_reference_default':
      foreach ($items as $delta => $item) {
        if ($item['qid']) {
          $nodequeue = nodequeue_load($item['qid']);
          $output = $nodequeue->title;
          $element[$delta] = array(
            '#markup' => $output,
          );
        }
      }
      break;
    case 'nodequeue_reference_qid':
      foreach ($items as $delta => $item) {
        $element[$delta] = array(
          '#markup' => $item['qid'],
        );
      }
      break;
    case 'nodequeue_list_nodes':
      foreach ($items as $delta => $item) {
        $result = array();
        $queue = nodequeue_load($item['qid']);
        $nodes = nodequeue_load_nodes($item['qid'], $queue->reverse, 0, $queue->count);
        foreach ($nodes as $node) {
          $label = entity_label('node', $node);
          $uri = entity_uri('node', $node);
          $result[] = l($label, $uri['path'], array(
            'attributes' => array(
              'class' => array(
                'node-link',
              ),
            ),
          ));
        }
        $element[$delta]['#markup'] = theme('item_list', array(
          'items' => $result,
        ));
      }
      break;
  }
  return $element;
}