function quickedit_preprocess_field

quickedit_preprocess_field(&$variables)

Implements hook_preprocess_HOOK() for field templates.

File

core/modules/quickedit/quickedit.module, line 126
Provides in-place content editing functionality for fields.

Code

function quickedit_preprocess_field(&$variables) {
  $variables['#cache']['contexts'][] = 'user.permissions';
  if (!\Drupal::currentUser()->hasPermission('access in-place editing')) {
    return;
  }

  $element = $variables['element'];
  /** @var $entity \Drupal\Core\Entity\EntityInterface */
  $entity = $element['#object'];

  // Quick Edit module only supports view modes, not dynamically defined
  // "display options" (which \Drupal\Core\Field\FieldItemListInterface::view()
  // always names the "_custom" view mode).
  // @see \Drupal\Core\Field\FieldItemListInterface::view()
  // @see https://www.drupal.org/node/2120335
  if ($element['#view_mode'] === '_custom') {
    return;
  }

  // Fields that are computed fields are not editable.
  $definition = $entity->getFieldDefinition($element['#field_name']);
  if (!$definition->isComputed()) {
    $variables['attributes']['data-quickedit-field-id'] = $entity->getEntityTypeId() . '/' . $entity->id() . '/' . $element['#field_name'] . '/' . $element['#language'] . '/' . $element['#view_mode'];
  }
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!modules!quickedit!quickedit.module/function/quickedit_preprocess_field/8.1.x