Класс SelectBoxWidget
Класс виджета для создания выпадающего списка.
Этот класс предназначен как внутренняя реализация Cake\View\Helper\FormHelper и не предназначен для прямого использования.
- Cake\View\Widget\BasicWidget реализует Cake\View\Widget\WidgetInterface
-
Cake\View\Widget\SelectBoxWidget
Наследуемые свойства
Краткое описание методов
- _emptyValue() protectedГенерирует пустое значение на основе ввода.
- _isDisabled() protectedВспомогательный метод для определения, какие опции отключены.
- _isSelected() protectedВспомогательный метод для определения, какие опции выбраны.
- _renderContent() protectedОтображает содержимое элемента select.
- _renderOptgroup() protectedОтображает содержимое элемента optgroup.
- _renderOptions() protectedОтображает набор опций.
- render() publicОтображает элемент ввода выпадающего списка.
Подробное описание методов
_emptyValue()source protected
_emptyValue( string|boolean|array $value )
Генерирует пустое значение на основе ввода.
Параметры
- string|boolean|array
$value - Установленное пустое значение.
Возвращает
arrayКлюч/значение сгенерированной опции.
_isDisabled()source protected
_isDisabled( string $key , array|null $disabled )
Вспомогательный метод для определения, какие опции отключены.
Параметры
- string
$key - Ключ для проверки.
- array|null
$disabled - Значения, которые необходимо отключить.
Возвращает
boolean_isSelected()source protected
_isSelected( string $key , array|string|null $selected )
Вспомогательный метод для определения, какие опции выбраны.
Параметры
- string
$key - Ключ для проверки.
- array|string|null
$selected - Выбранные значения.
Возвращает
boolean_renderContent()source protected
_renderContent( array $data )
Отображает содержимое элемента select.
Параметры
- array
$data - Контекст для отображения select.
Возвращает
array_renderOptgroup()source protected
_renderOptgroup( string $label , array $optgroup , array|null $disabled , array|string|null $selected , array $templateVars , boolean $escape )
Отображает содержимое элемента optgroup.
Параметры
- string
$label - Текст метки optgroup
- array
$optgroup - Данные группы opt.
- array|null
$disabled - Опции, которые необходимо отключить.
- array|string|null
$selected - Опции, которые необходимо выбрать.
- array
$templateVars - Дополнительные переменные шаблона.
- boolean
$escape - Переключатель HTML-экранирования
Возвращает
stringОтформатированная строка шаблона
_renderOptions()source protected
_renderOptions( array $options , array|null $disabled , array|string|null $selected , array $templateVars , boolean $escape )
Отображает набор опций.
Будет рекурсивно вызывать себя при использовании групп опций.
Параметры
- array
$options - Опции для отображения.
- array|null
$disabled - Опции, которые необходимо отключить.
- array|string|null
$selected - Опции, которые необходимо выбрать.
- array
$templateVars - Дополнительные переменные шаблона.
- boolean
$escape - Переключатель HTML-экранирования.
Возвращает
arrayЭлементы опций.
render()source public
render( array $data , Cake\View\Form\ContextInterface $context )
Отображает элемент ввода выпадающего списка.
Отображает элемент ввода выпадающего списка на основе набора данных. Поддерживаются следующие ключи:
-
name- Установите имя ввода. -
options- Массив опций. -
disabled- Либо true, либо массив опций для отключения. При значении true, элемент select будет отключён. -
val- Либо строка, либо массив опций для выбора. -
empty- Установите true, чтобы добавить пустую опцию в верхней части элементов опций. Установите строку, чтобы определить текст отображения для пустой опции. Если используется массив, ключ задаст значение пустой опции, а значение — текст отображения. -
escape- Установите в false, чтобы отключить HTML-экранирование.
Формат опций
Опция может принимать различные форматы данных в зависимости от сложности генерируемого HTML.
Вы можете сгенерировать простые опции, используя обычный ассоциативный массив:
'options' => ['elk' => 'Elk', 'beaver' => 'Beaver']
Если вам нужно определить дополнительные атрибуты для элементов опции, вы можете использовать сложный формат для опций:
'options' => [ ['value' => 'elk', 'text' => 'Elk', 'data-foo' => 'bar'], ]
В этом формате требуется определение ключей value и text. Если хотя бы один из них не задан, опции не будут сгенерированы корректно.
Если вам нужно определить группы опций, вы можете сделать это, используя вложенные массивы:
'options' => [ 'Mammals' => [ 'elk' => 'Elk', 'beaver' => 'Beaver' ] ]
И, наконец, если вам нужно добавить атрибуты к элементам optgroup, вы можете сделать это с помощью более сложного вложенного массива:
'options' => [
[
'text' => 'Mammals',
'data-id' => 1,
'options' => [
'elk' => 'Elk',
'beaver' => 'Beaver'
]
],
] Вы можете смешивать каждый из форматов в одном наборе опций и вкладывать сложные типы по мере необходимости.
Параметры
- array
$data - Данные для отображения.
-
Cake\View\Form\ContextInterface$context - Текущий контекст формы.
Возвращает
stringСгенерированный выпадающий список.
Возбуждает
RuntimeExceptionкогда атрибут name пустой.
Переопределяет
Cake\View\Widget\BasicWidget::render() Методы, унаследованные от Cake\View\Widget\BasicWidget
__construct()source public
__construct( Cake\View\StringTemplate $templates )
Конструктор.
Параметры
-
Cake\View\StringTemplate$templates - Список шаблонов.
secureFields()source public
secureFields( array $data )
Возвращает список полей, которые необходимо зашифровать для этого виджета. Поля имеют вид Model[field][suffix]
Параметры
- array
$data - Данные для отображения.
Возвращает
arrayМассив полей для шифрования.
Реализация
Cake\View\Widget\WidgetInterface::secureFields()
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.6/class-Cake.View.Widget.SelectBoxWidget.html