You are here

function metatags_quick_field_formatter_view in Meta tags quick 7.2

Same name and namespace in other branches
  1. 7 metatags_quick.module \metatags_quick_field_formatter_view()

Implements hook_field_formatter_view().

File

./metatags_quick.module, line 396
Quick and dirty implementation of meta tags for drupal 7 Module defines new field type 'meta'. Fields of this type are not displayed in HTML. Instead, they add html meta to the head section.

Code

function metatags_quick_field_formatter_view($object_type, $object, $field, $instance, $langcode, $items, $display) {
  $element = array();
  switch ($display['type']) {
    case 'metatags_quick_link':
      foreach ($items as $delta => $item) {
        _metatags_quick_add_head(array(
          'type' => 'link',
          'name' => $item['meta_name'],
          'content' => $item['metatags_quick'],
        ));
      }

      // Hide element.
      $element = array(
        '#markup' => '',
        '#printed' => TRUE,
      );
      break;
    case 'metatags_quick_plain':
      foreach ($items as $delta => $item) {
        $element[$delta] = array(
          '#markup' => $item['metatags_quick'],
        );
      }
      break;
    case 'metatags_quick_title':

      // In case we get a multiple field, we concat the values with ' - ', just
      // to have some sane handling.
      $title = array();
      foreach ($items as $delta => $item) {
        $title[] = $item['metatags_quick'];
      }
      if (!empty($title)) {
        if ($display['settings']['method'] == 'preprocess_html') {
          _metatags_quick_set_html_title($title);
        }
        else {
          drupal_set_title(join(' - ', $title));
        }
      }

      // Hide element.
      $element = array(
        '#markup' => '',
        '#printed' => TRUE,
      );
      break;
    case 'metatags_quick_default':
      foreach ($items as $delta => $item) {
        _metatags_quick_add_head(array(
          'type' => 'default',
          'name' => $item['meta_name'],
          'content' => $item['metatags_quick'],
          'entity' => $object,
          'entity_type' => $object_type,
        ));
      }

      // Hide element.
      $element = array(
        '#markup' => '',
        '#printed' => TRUE,
      );
      break;
  }
  return $element;
}