Перейти к основному содержимому

Select

Общие сведения

Редактируемый элемент Select позволяет создать компонент поле выбора в режиме редактирования.

Конфигурация

ИмяТипОписание
storearrayПары ключ/значение для доступных опций
reloadboolУстановите значение true, чтобы перезагрузить страницу в режиме редактирования после выбора опции
widthintegerШирина сгенерированного блока в пикселях
classstringCSS класс, который добавляется к окружающему контейнеру этого элемента в режиме редактирования
defaultValuestringЗначение по умолчанию для доступных опций. Примечание: Это значение необходимо сохранить перед вызовом функции getData() или использовать setDataFromResource()
requiredboolean(по умолчанию: false) установите значение true, чтобы сделать значение поля обязательным для публикации
editableboolean(по умолчанию: false) установите значение true, чтобы разрешить пользовательскую опцию

Методы

ИмяВозвращаетОписание
getData()stringЗначение элемента Select, это полезно для получения значения даже в режиме редактирования
isEmpty()boolОпределяет, пустой ли элемент или нет

Примеры

Основное использование

Приведенный ниже код показывает поле выбора в режиме редактирования, в предварительном просмотре во фронтенде вы увидите просто значение выбранной опции.

{% if editmode %}  
{{ pimcore_select("valid_for", {
"store": [
["one-month", "One month"],
["three-months", "Three months"],
["unlimited", "Unlimited"]
],
"defaultValue": "unlimited"
}) }}
{% else %}
<p>
{{ "Something is valid for" | trans }}:{{ pimcore_select("valid_for").getData() | trans }}
</p>
{% endif %}

Режим редактирования: Select editable in editmode

Фронтенд: Select editable in frontend

Предварительный выбор опции

Вы можете предварительно выбрать опцию в вашем Select Editable с помощью setDataFromResource()

{% if editmode %}  
{% if pimcore_select('valid_for').isEmpty() %}
{% do pimcore_select('valid_for').setDataFromResource('unlimited') %}
{% endif %}

...

{% endif %}


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.