Spec-Zone.ru › CakePHP 3.3

Класс SelectBoxWidget

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

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

Cake\View\Widget\BasicWidget implements Cake\View\Widget\WidgetInterface
Расширенный 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 )

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

Параметры

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

Возвращает

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

_isDisabled()source protected

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

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

Параметры

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

Возвращает

логическое значение

_isSelected()source protected

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

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

Параметры

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

Возвращает

логическое значение

_renderContent()source protected

_renderContent( array $data )

Отображает содержимое элемента select.

Параметры

массив $data
Контекст для отображения select.

Возвращает

массив

_renderOptgroup()source protected

_renderOptgroup( string $label , array $optgroup , array|null $disabled , array|string|null $selected , array $templateVars , boolean $escape )

Отображает содержимое элемента optgroup.

Параметры

строка $label
Текст метки optgroup
массив $optgroup
Данные группы optgroup.
массив|null $disabled
Опции, которые должны быть отключены.
массив|строка|null $selected
Опции, которые должны быть выбраны.
массив $templateVars
Дополнительные переменные шаблона.
логическое значение $escape
Включить/выключить экранирование HTML

Возвращает

строка
Отформатированная строка шаблона

_renderOptions()source protected

_renderOptions( array $options , array|null $disabled , array|string|null $selected , array $templateVars , boolean $escape )

Отображает набор опций.

Будет рекурсивно вызывать себя при использовании групп опций.

Параметры

массив $options
Опции для отображения.
массив|null $disabled
Опции, которые должны быть отключены.
массив|строка|null $selected
Опции, которые должны быть выбраны.
массив $templateVars
Дополнительные переменные шаблона.
логическое значение $escape
Включить/выключить экранирование HTML.

Возвращает

массив
Элементы опции.

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'
    ]
 ],
]

Вы можете смешивать все формы в одном наборе опций и вкладывать сложные типы по мере необходимости.

Параметры

массив $data
Данные для отображения.
Cake\View\Form\ContextInterface $context
Текущий контекст формы.

Возвращает

строка
Сгенерированный выпадающий список.

Исключения

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]

Параметры

массив $data
Данные для отображения.

Возвращает

массив
Массив полей для защиты.

Реализация

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

Spec-Zone.ru

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