Spec-Zone.ru › CakePHP 3.1

Класс SelectBoxWidget

Класс виджета для генерации выпадающего списка.

Этот класс предназначен в качестве внутренней реализации Cake\View\Helper\FormHelper и не предназначен для прямого использования.

Cake\View\Widget\BasicWidget implements Cake\View\Widget\WidgetInterface
Extended by Cake\View\Widget\SelectBoxWidget
Пространство имён: Cake\View\Widget
Расположение: View/Widget/SelectBoxWidget.php

Подробности метода

_emptyValuesource protected

_emptyValue( string|boolean|array $value )

Генерирует пустое значение на основе ввода.

Параметры

строка|булево|массив $value
Предоставленное пустое значение.

Возвращает

array
Сгенерированный ключ/значение опции.

_isDisabledsource protected

_isDisabled( string $key , array|null $disabled )

Вспомогательный метод для определения, какие опции отключены.

Параметры

строка $key
Ключ для проверки.
массив|null $disabled
Значения, которые отключены.

Возвращает

boolean
bool

_isSelectedsource protected

_isSelected( string $key , array|string|null $selected )

Вспомогательный метод для определения, какие опции выбраны.

Параметры

строка $key
Ключ для проверки.
массив|строка|null $selected
Выбранные значения.

Возвращает

boolean
bool

_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

$_templatessource

protected Cake\View\StringTemplate

Экземпляр StringTemplate.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API