class FieldWidget

Same name in this branch
  1. 11.x core/lib/Drupal/Core/Field/Attribute/FieldWidget.php \Drupal\Core\Field\Attribute\FieldWidget
Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Field/Annotation/FieldWidget.php \Drupal\Core\Field\Annotation\FieldWidget
  2. 8.9.x core/lib/Drupal/Core/Field/Annotation/FieldWidget.php \Drupal\Core\Field\Annotation\FieldWidget
  3. 10 core/lib/Drupal/Core/Field/Attribute/FieldWidget.php \Drupal\Core\Field\Attribute\FieldWidget
  4. 10 core/lib/Drupal/Core/Field/Annotation/FieldWidget.php \Drupal\Core\Field\Annotation\FieldWidget

Defines a FieldWidget annotation object.

Widgets handle how fields are displayed in edit forms.

Additional annotation keys for widgets can be defined in hook_field_widget_info_alter().

Hierarchy

Expanded class hierarchy of FieldWidget

See also

\Drupal\Core\Field\WidgetPluginManager

\Drupal\Core\Field\WidgetInterface

Related topics

File

core/lib/Drupal/Core/Field/Annotation/FieldWidget.php, line 22

Namespace

Drupal\Core\Field\Annotation
View source
class FieldWidget extends Plugin {
    
    /**
     * The plugin ID.
     *
     * @var string
     */
    public $id;
    
    /**
     * The human-readable name of the widget type.
     *
     * @ingroup plugin_translatable
     *
     * @var \Drupal\Core\Annotation\Translation
     */
    public $label;
    
    /**
     * A short description of the widget type.
     *
     * @ingroup plugin_translatable
     *
     * @var \Drupal\Core\Annotation\Translation
     */
    public $description;
    
    /**
     * The name of the widget class.
     *
     * This is not provided manually, it will be added by the discovery mechanism.
     *
     * @var string
     */
    public $class;
    
    /**
     * An array of field types the widget supports.
     *
     * @var array
     */
    public $field_types = [];
    
    /**
     * Does the field widget handles multiple values at once.
     *
     * @var bool
     */
    public $multiple_values = FALSE;
    
    /**
     * An integer to determine weight of this widget relative to other widgets.
     *
     * Other widgets are in the Field UI when selecting a widget for a given
     * field.
     *
     * This property is optional and it does not need to be declared.
     *
     * @var int
     */
    public $weight = NULL;

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
FieldWidget::$class public property The name of the widget class.
FieldWidget::$description public property A short description of the widget type.
FieldWidget::$field_types public property An array of field types the widget supports.
FieldWidget::$id public property The plugin ID.
FieldWidget::$label public property The human-readable name of the widget type.
FieldWidget::$multiple_values public property Does the field widget handles multiple values at once.
FieldWidget::$weight public property An integer to determine weight of this widget relative to other widgets.
Plugin::$definition protected property The plugin definition read from the class annotation. 1
Plugin::get public function Gets the value of an annotation. Overrides AnnotationInterface::get 6
Plugin::getClass public function Gets the class of the annotated class. Overrides AnnotationInterface::getClass 1
Plugin::getId public function Gets the unique ID for this annotated class. Overrides AnnotationInterface::getId
Plugin::getProvider public function Gets the name of the provider of the annotated class. Overrides AnnotationInterface::getProvider 1
Plugin::parse protected function Parses an annotation into its definition.
Plugin::setClass public function Sets the class of the annotated class. Overrides AnnotationInterface::setClass 1
Plugin::setProvider public function Sets the name of the provider of the annotated class. Overrides AnnotationInterface::setProvider
Plugin::__construct public function Constructs a Plugin object. 3

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.