MultiSelect
- Type
- Class
- Namespace
- craft\fields
- Inherits
- craft\fields\MultiSelect » craft\fields\BaseOptionsField » craft\base\Field » craft\base\SavableComponent » craft\base\ConfigurableComponent » craft\base\Component » craft\base\Model » yii\base\Model » yii\base\Component » yii\base\BaseObject
- Implements
- ArrayAccess, IteratorAggregate, craft\base\Actionable, craft\base\ComponentInterface, craft\base\ConfigurableComponentInterface, craft\base\FieldInterface, craft\base\Iconic, craft\base\MergeableFieldInterface, craft\base\ModelInterface, craft\base\PreviewableFieldInterface, craft\base\SavableComponentInterface, yii\base\Arrayable, yii\base\Configurable, yii\base\StaticInstanceInterface
- Uses traits
- craft\base\ClonefixTrait, craft\base\FieldTrait, craft\base\SavableComponentTrait, yii\base\ArrayableTrait, yii\base\StaticInstanceTrait
- Since
- 3.0.0
MultiSelect represents a Multi-select field.
Public Properties
Property | Description |
---|---|
actionMenuItems | array |
activeValidators | yii\validators\Validator – The validators applicable to the current scenario. |
attributes | array – Attribute values (name => value). |
behaviors | yii\base\Behavior – List of behaviors attached to this component. |
columnSuffix | string, null – The field’s content column suffix |
contentGqlMutationArgumentType | \GraphQL\Type\Definition\Type , array |
contentGqlQueryArgumentType | \GraphQL\Type\Definition\Type , array |
contentGqlType | \GraphQL\Type\Definition\Type , array |
context | string, null – The field’s context |
cpEditUrl | |
dateCreated | DateTime, null – The date that the component was created |
dateDeleted | DateTime, null – The date that the field was trashed |
dateUpdated | DateTime, null – The date that the component was last updated |
describedBy | string, null – The aria-describedby attribute value that should be set on the focusable input(s). |
eagerLoadingGqlConditions | |
elementConditionRuleType | string, array, null |
elementValidationRules | array |
errors | array – Errors for all attributes or the specified attribute. |
firstErrors | array – The first errors. |
handle | string, null – The field’s handle |
icon | string, null |
id | integer, string, null – The component’s ID (could be a temporary one: "new:X") |
inputId | string |
instructions | string, null – The field’s instructions |
isMultiOptionsField | boolean |
isNew | boolean – Whether the component is new (unsaved) |
iterator | ArrayIterator – An iterator for traversing the items in the list. |
labelId | string |
layoutElement | craft\fieldlayoutelements\CustomField, null – The field layout element |
name | string, null – The field’s name |
oldHandle | string, null – The field’s previous handle |
oldSettings | array, null – The field’s previous settings |
options | array – The available options |
required | boolean, null – Whether the field is required in the field layout it was fetched from |
scenario | string – The scenario that this model is in. |
searchable | boolean – Whether the field's values should be registered as search keywords on the elements. |
settings | array – The component’s settings |
settingsHtml | string, null |
sortOption | |
translationKeyFormat | string, null – The field’s translation key format, if translationMethod is "custom" |
translationMethod | string – The field’s translation method |
uiLabel | |
uid | string, null – The field's UID |
validateHandleUniqueness | boolean – Whether the field handle’s uniqueness should be validated. |
validators | ArrayObject, yii\validators\Validator – All the validators declared in the model. |
valueSql | string, null |
Protected Properties
Property | Description |
---|---|
multi | boolean – Whether the field should support multiple selections |
optgroups | boolean – Whether the field should support optgroups |
multi
- Type
- boolean
- Default value
true
Whether the field should support multiple selections
optgroups
- Type
- boolean
- Default value
true
Whether the field should support optgroups
Public Methods
Method | Description |
---|---|
__call() | Calls the named method which is not a class method. |
__clone() | This method is called after the object is created by cloning an existing one. |
__construct() | Constructor |
__get() | Returns the value of a component property. |
__isset() | Checks if a property is set, i.e. defined and not null. |
__set() | Sets the value of a component property. |
__toString() | Use the translated field name as the string representation. |
__unset() | Sets a component property to be null. |
activeAttributes() | Returns the attribute names that are subject to validation in the current scenario. |
addError() | Adds a new error to the specified attribute. |
addErrors() | Adds a list of errors. |
addModelErrors() | Adds errors from another model, with a given attribute name prefix. |
afterDelete() | Performs actions after a component is deleted. |
afterElementDelete() | Performs actions after the element has been deleted. |
afterElementDeleteForSite() | Performs actions after the element has been deleted. |
afterElementPropagate() | Performs actions after the element has been fully saved and propagated to other sites. |
afterElementRestore() | Performs actions after the element has been restored. |
afterElementSave() | Performs actions after the element has been saved. |
afterMergeFrom() | |
afterMergeInto() | |
afterSave() | Performs actions after a component is saved. |
afterValidate() | This method is invoked after validation ends. |
attachBehavior() | Attaches a behavior to this component. |
attachBehaviors() | Attaches a list of behaviors to the component. |
attributeHints() | Returns the attribute hints. |
attributeLabels() | Returns the attribute labels. |
attributes() | Returns the list of attribute names. |
beforeApplyDelete() | Performs actions before a component delete is applied to the database. |
beforeDelete() | Performs actions before a component is deleted. |
beforeElementDelete() | Performs actions before an element is deleted. |
beforeElementDeleteForSite() | Performs actions before an element is deleted for a site. |
beforeElementRestore() | Performs actions before an element is restored. |
beforeElementSave() | Performs actions before an element is saved. |
beforeSave() | Performs actions before a component is saved. |
beforeValidate() | This method is invoked before validation starts. |
behaviors() | Returns a list of behaviors that this component should behave as. |
canGetProperty() | Returns a value indicating whether a property can be read. |
canMergeFrom() | |
canMergeInto() | |
canSetProperty() | Returns a value indicating whether a property can be set. |
className() | Returns the fully qualified name of this class. |
clearErrors() | Removes errors for all attributes or a single attribute. |
copyValue() | Copies the field’s value from one element to another. |
createValidators() | Creates validator objects based on the validation rules specified in rules(). |
datetimeAttributes() | Returns the names of any attributes that should hold DateTime values. |
dbType() | Returns the DB data type(s) that this field will store within the elements_sites.content column. |
detachBehavior() | Detaches a behavior from the component. |
detachBehaviors() | Detaches all behaviors from the component. |
displayName() | Returns the display name of this class. |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. |
extraFields() | Returns the list of fields that can be expanded further and returned by toArray(). |
fields() | Returns the list of fields that should be returned by default by toArray() when no specific fields are specified. |
formName() | Returns the form name that this model class should use. |
generateAttributeLabel() | Generates a user friendly attribute label based on the give attribute name. |
get() | |
getActionMenuItems() | Returns action menu items for the component. |
getActiveValidators() | Returns the validators applicable to the current scenario. |
getAttributeHint() | Returns the text hint for the specified attribute. |
getAttributeLabel() | Returns the text label for the specified attribute. |
getAttributes() | Returns attribute values. |
getBehavior() | Returns the named behavior object. |
getBehaviors() | Returns all behaviors attached to this component. |
getContentGqlMutationArgumentType() | Returns the GraphQL type to be used as an argument in mutations for this field type. |
getContentGqlQueryArgumentType() | Returns the GraphQL type to be used as an argument in queries for this field type. |
getContentGqlType() | Returns the GraphQL type to be used for this field type. |
getCpEditUrl() | |
getEagerLoadingGqlConditions() | |
getElementConditionRuleType() | Returns the element condition rule class that should be used for this field. |
getElementValidationRules() | Returns the validation rules for an element with this field. |
getErrorSummary() | Returns the errors for all attributes as a one-dimensional array. |
getErrors() | Returns the errors for all attributes or a single attribute. |
getFirstError() | Returns the first error of the specified attribute. |
getFirstErrors() | Returns the first error of every attribute in the model. |
getHandle() | |
getIcon() | Returns the component’s icon, if it has one. |
getId() | |
getInlineInputHtml() | |
getInputHtml() | Returns the field’s input HTML. |
getInputId() | Returns the input’s ID, which the <label> ’s for attribute should reference. |
getIsMultiOptionsField() | Returns whether the field type supports storing multiple selected options. |
getIsNew() | Returns whether the component is new (unsaved). |
getIsTranslatable() | Returns whether the field should be shown as translatable in the UI. |
getIterator() | Returns an iterator for traversing the attributes in the model. |
getLabelId() | Returns the input’s label ID. |
getOrientation() | Returns the orientation the field should use (ltr or rtl ). |
getPreviewHtml() | |
getScenario() | Returns the scenario that this model is used in. |
getSearchKeywords() | Returns the search keywords that should be associated with this field. |
getSettings() | Returns an array of the component’s settings. |
getSettingsHtml() | Returns the component’s settings HTML. |
getSortOption() | |
getStaticHtml() | Returns a static (non-editable) version of the field’s input HTML. |
getStatus() | Returns the status of the field for a given element. |
getTranslationDescription() | Returns the description of this field’s translation support. |
getTranslationKey() | Returns the field’s translation key, based on a given element. |
getUiLabel() | |
getValidators() | Returns all the validators declared in rules(). |
getValueSql() | Returns a SQL expression which extracts the field’s value from the elements_sites.content column. |
hasErrors() | Returns a value indicating whether there is any validation error. |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. |
hasMethod() | Returns a value indicating whether a method is defined. |
hasProperty() | Returns a value indicating whether a property is defined for this component. |
icon() | Returns the field type’s SVG icon. |
includeInGqlSchema() | Returns whether the field should be included in the given GraphQL schema. |
init() | Initializes the object. |
instance() | Returns static class instance, which can be used to obtain meta information. |
isAttributeActive() | Returns a value indicating whether the attribute is active in the current scenario. |
isAttributeRequired() | Returns a value indicating whether the attribute is required. |
isAttributeSafe() | Returns a value indicating whether the attribute is safe for massive assignments. |
isMultiInstance() | Returns whether the field can be included multiple times within a field layout. |
isRequirable() | Returns whether the field can be marked as required. |
isSelectable() | Returns whether the component should be selectable in component Type selects. |
isValueEmpty() | Returns whether the given value should be considered “empty” to a validator. |
load() | Populates the model with input data. |
loadMultiple() | Populates a set of models with the data from end user. |
modifyElementIndexQuery() | Modifies an element index query. |
normalizeValue() | Normalizes the field’s value for use. |
normalizeValueFromRequest() | Normalizes a posted field value for use. |
off() | Detaches an existing event handler from this component. |
offsetExists() | Returns whether there is an element at the specified offset. |
offsetGet() | Returns the element at the specified offset. |
offsetSet() | Sets the element at the specified offset. |
offsetUnset() | Sets the element value at the specified offset to null. |
on() | Attaches an event handler to an event. |
onUnsafeAttribute() | This method is invoked when an unsafe attribute is being massively assigned. |
phpType() | Returns the PHPDoc type this field’s values will have. |
queryCondition() | Returns a query builder-compatible condition for the given field instances, for a user-provided param value. |
rules() | Returns the validation rules for attributes. |
safeAttributes() | Returns the attribute names that are safe to be massively assigned in the current scenario. |
scenarios() | Returns a list of scenarios and the corresponding active attributes. |
serializeValue() | Prepares the field’s value to be stored somewhere, like the content table. |
setAttributes() | Sets the attribute values in a massive way. |
setIsFresh() | Sets whether the field is fresh. |
setScenario() | Sets the scenario for the model. |
settingsAttributes() | Returns the list of settings attribute names. |
supportedTranslationMethods() | Returns which translation methods the field supports. |
toArray() | Converts the model into an array. |
trigger() | Triggers an event. |
useFieldset() | Returns whether the field should use a <fieldset> + <legend> instead of a <div> + <label> . |
validate() | Performs the data validation. |
validateMultiple() | Validates multiple models. |
validateOptions() | Validates the field options. |
displayName()
Returns the display name of this class.
Returns
string – The display name of this class.
getStaticHtml()
Returns a static (non-editable) version of the field’s input HTML.
This function is called to output field values when viewing element drafts.
Arguments
$value
(mixed
) – The field’s value$element
(craft\base\ElementInterface) – The element the field is associated with
Returns
string – The static version of the field’s input HTML
icon()
- Since
- 5.0.0
Returns the field type’s SVG icon.
The returned icon can be a system icon’s name (e.g. 'whiskey-glass-ice'
), the path to an SVG file, or raw SVG markup.
System icons can be found in src/icons/solid/.
Returns
Protected Methods
Method | Description |
---|---|
defaultValue() | Returns the default field value. |
defineBehaviors() | Returns the behaviors to attach to this class. |
defineRules() | Returns the validation rules for attributes. |
encodeValue() | Base64-encodes a value. |
extractFieldsFor() | Extract nested fields from a fields collection for a given root field Nested fields are separated with dots (.). e.g: "item.id" The previous example would extract "id". |
extractRootFields() | Extracts the root field names from nested fields. |
inputHtml() | Returns the field’s input HTML. |
isFresh() | Returns whether this is the first time the element’s content has been edited. |
isOptionSelected() | Check if given option should be marked as selected. |
options() | Returns the available options (and optgroups) for the field. |
optionsSettingLabel() | Returns the label for the Options setting. |
requestParamName() | Returns the field’s param name on the request. |
resolveFields() | Determines which fields can be returned by toArray(). |
searchKeywords() | Returns the search keywords that should be associated with this field. |
translatedOptions() | Returns the field options, with labels run through Craft::t(). |
valueSql() | Returns a coalescing value SQL expression for the given field instances. |
inputHtml()
- Since
- 3.5.0
Returns the field’s input HTML.
Arguments
$value
(mixed
) – The field’s value. This will either be the normalized value, raw POST data (i.e. if there was a validation error), or null$element
(craft\base\ElementInterface, null) – The element the field is associated with, if there is one$inline
(boolean) – Whether this is for an inline edit form.
Returns
string – The input HTML.
optionsSettingLabel()
Returns the label for the Options setting.
Returns
Constants
Constant | Description |
---|---|
SCENARIO_DEFAULT | The name of the default scenario. |
TRANSLATION_METHOD_CUSTOM | |
TRANSLATION_METHOD_LANGUAGE | |
TRANSLATION_METHOD_NONE | |
TRANSLATION_METHOD_SITE | |
TRANSLATION_METHOD_SITE_GROUP |