Spec-Zone.ru › CakePHP 3.4

Класс 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
если атрибут имени пустой.

Переопределяет

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

Spec-Zone.ru

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