Spec-Zone.ru › CakePHP 3.7

Класс 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
    Рендеринг поля ввода select.

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

_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 )

Рендеринг поля ввода select.

Рендеринг поля ввода select, используя набор данных. Поддерживаются следующие ключи:

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

Spec-Zone.ru

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