You are here

function flipping_book_reference_field_formatter_view in Flipping Book 7

Implements hook_field_formatter_view().

File

./flipping_book_reference.module, line 280
Defines a field type for referencing one flipping_book from a node.

Code

function flipping_book_reference_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
  $settings = $display['settings'];
  $result = array();
  switch ($display['type']) {
    case 'flipping_book_reference_default':
    case 'flipping_book_reference_plain':
      foreach ($items as $delta => $item) {
        $flipping_book = $item['flipping_book'];
        if ($display['type'] == 'flipping_book_reference_default') {
          $result[$delta] = array(
            '#type' => 'link',
            '#title' => $flipping_book->title,
            '#href' => $flipping_book->url,
            '#options' => array(
              'attributes' => array(
                'target' => $settings['target'],
              ),
            ),
          );
        }
        else {
          $result[$delta] = array(
            '#markup' => check_plain($flipping_book->title),
          );
        }
      }
      break;
    case 'flipping_book_reference_fbid':
      foreach ($items as $delta => $item) {
        $result[$delta] = array(
          '#markup' => $item['fbid'],
        );
      }
      break;
    case 'flipping_book_reference_path':
      foreach ($items as $delta => $item) {
        $options = array(
          'absolute' => $settings['absolute'],
        );
        $result[$delta] = array(
          '#markup' => url($item['flipping_book']->path, $options),
        );
      }
      break;
    case 'flipping_book_reference_colorbox':
      foreach ($items as $delta => $item) {
        $flipping_book = $item['flipping_book'];
        $query = array(
          'width' => $settings['width'],
          'height' => $settings['height'],
          'iframe' => 'true',
        );
        $result[$delta] = array(
          '#type' => 'link',
          '#title' => !empty($settings['link_title']) ? t($settings['link_title']) : $flipping_book->title,
          '#href' => url($flipping_book->url, array(
            'query' => $query,
          )),
          '#options' => array(
            'attributes' => array(
              'class' => array(
                'colorbox-load',
              ),
            ),
          ),
        );
      }
      break;
  }
  return $result;
}