Spec-Zone.ru › CakePHP 3.2

Класс SelectBoxWidget

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

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

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

Унаследованные свойства

  • _templates

Краткое описание методов

  • _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–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.2/class-Cake.View.Widget.SelectBoxWidget.html

Spec-Zone.ru

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