datafield-1.x-dev/src/Plugin/DataFieldFormatterInterface.php
src/Plugin/DataFieldFormatterInterface.php
<?php
namespace Drupal\datafield\Plugin;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Form\FormStateInterface;
/**
* Interface definition for field widget plugins.
*
* This interface details the methods that most plugin implementations will want
* to override. See Drupal\Core\Field\WidgetBaseInterface for base
* wrapping methods that should most likely be inherited directly from
* Drupal\Core\Field\WidgetBase.
*
* @ingroup field_widget
*/
interface DataFieldFormatterInterface {
/**
* Returns a form to configure settings for the widget.
*
* Invoked from \Drupal\field_ui\Form\EntityDisplayFormBase to allow
* administrators to configure the widget. The field_ui module takes care of
* handling submitted form values.
*
* @param array $form
* The form where the settings form is being included in.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form.
*
* @return array
* The form definition for the widget settings.
*/
public function settingsForm(array $form, FormStateInterface $form_state);
/**
* Returns a short summary for the current widget settings.
*
* If an empty result is returned, a UI can still be provided to display
* a settings form in case the widget has configurable settings.
*
* @return array
* A short summary of the widget settings.
*/
public function settingsSummary();
/**
* Builds a renderable array for a field value.
*
* @param \Drupal\Core\Field\FieldItemListInterface $items
* The field values to be rendered.
* @param string $langcode
* The language that should be used to render the field.
*
* @return array
* A renderable array for $items, as an array of child elements keyed by
* consecutive numeric indexes starting from 0.
*/
public function viewElements(FieldItemListInterface $items, $langcode);
}
