Класс SelectBoxWidget
Класс виджета для генерации выпадающего списка.
Этот класс предназначен в качестве внутренней реализации Cake\View\Helper\FormHelper и не предназначен для прямого использования.
- Cake\View\Widget\BasicWidget implements Cake\View\Widget\WidgetInterface
-
Cake\View\Widget\SelectBoxWidget
Подробности метода
_emptyValuesource protected
_emptyValue( string|boolean|array $value )
Генерирует пустое значение на основе ввода.
Параметры
- строка|булево|массив
$value - Предоставленное пустое значение.
Возвращает
arrayСгенерированный ключ/значение опции.
_isDisabledsource protected
_isDisabled( string $key , array|null $disabled )
Вспомогательный метод для определения, какие опции отключены.
Параметры
- строка
$key - Ключ для проверки.
- массив|null
$disabled - Значения, которые отключены.
Возвращает
booleanbool
_isSelectedsource protected
_isSelected( string $key , array|string|null $selected )
Вспомогательный метод для определения, какие опции выбраны.
Параметры
- строка
$key - Ключ для проверки.
- массив|строка|null
$selected - Выбранные значения.
Возвращает
booleanbool
_renderContentsource protected
_renderContent( array $data )
Отображает содержимое элемента select.
Параметры
- массив
$data - Контекст для отображения select.
Возвращает
arrayмассив
_renderOptgroupsource protected
_renderOptgroup( string $label , array $optgroup , array|null $disabled , array|string|null $selected , array $templateVars , boolean $escape )
Отображает содержимое элемента optgroup.
Параметры
- строка
$label - Текст метки optgroup
- массив
$optgroup - Данные группы опций.
- массив|null
$disabled - Опции для отключения.
- массив|строка|null
$selected - Опции для выбора.
- массив
$templateVars - Дополнительные переменные шаблона.
- булево
$escape - Включить экранирование HTML
Возвращает
stringОтформатированная строка шаблона
_renderOptionssource protected
_renderOptions( array $options , array|null $disabled , array|string|null $selected , array $templateVars , boolean $escape )
Отображает набор опций.
Будет рекурсивно вызывать себя, если используются группы опций.
Параметры
- массив
$options - Опции для отображения.
- массив|null
$disabled - Опции для отключения.
- массив|строка|null
$selected - Опции для выбора.
- массив
$templateVars - Дополнительные переменные шаблона.
- булево
$escape - Включить экранирование HTML.
Возвращает
arrayЭлементы опций.
rendersource public
render( array $data , Cake\View\Form\ContextInterface $context )
Отображает поле формы выпадающего списка.
Отображает поле выпадающего списка на основе набора данных. Поддерживаемые ключи:
-
name- Установить имя поля ввода. -
options- Массив опций. -
disabled- true или массив опций для отключения. Если true, элемент выпадающего списка будет отключён. -
val- Строка или массив опций для выбора. -
empty- Установить в true, чтобы добавить пустую опцию в начале элементов опций. Установить в строку, чтобы определить отображаемый текст пустой опции. Если используется массив, ключ установит значение пустой опции, а значение — отображаемый текст. -
escape- Установить в false, чтобы отключить экранирование HTML.
Формат опций
Параметр options может принимать различные форматы данных в зависимости от сложности генерируемого 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' ] ], ]
Вы можете смешивать каждый из форматов в одном наборе опций и вкладывать сложные типы по мере необходимости.
Параметры
- массив
$data - Данные для отображения.
-
Cake\View\Form\ContextInterface$context - Текущий контекст формы.
Возвращает
stringСгенерированный выпадающий список.
Исключения
RuntimeExceptionпри пустом атрибуте name.
Переопределяет
Cake\View\Widget\BasicWidget::render() Методы, унаследованные от Cake\View\Widget\BasicWidget
__constructsource public
__construct( Cake\View\StringTemplate $templates )
Конструктор.
Параметры
-
Cake\View\StringTemplate$templates - Список шаблонов.
secureFieldssource public
secureFields( array $data )
Возвращает список полей, которые необходимо защитить для этого виджета. Поля имеют вид Model[поле][суффикс]
Параметры
- массив
$data - Данные для отображения.
Возвращает
arrayМассив полей для защиты.
Реализация
Cake\View\Widget\WidgetInterface::secureFields() Свойства, унаследованные от Cake\View\Widget\BasicWidget
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.View.Widget.SelectBoxWidget.html