Spec-Zone.ru › CakePHP 4.4

Класс SelectBoxWidget

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

Этот класс обычно используется внутри Cake\View\Helper\FormHelper, но также может быть использован для создания независимых выпадающих списков.

Пространство имён: Cake\View\Widget

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

  • $_templates protected
    Cake\View\StringTemplate

    Экземпляр StringTemplate.

  • $defaults protected
    array<string, mixed>

    Значения по умолчанию.

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

  • __construct() public

    Конструктор.

  • _emptyValue() protected

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

  • _isDisabled() protected

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

  • _isSelected() protected

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

  • _renderContent() protected

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

  • _renderOptgroup() protected

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

  • _renderOptions() protected

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

  • mergeDefaults() protected

    Объединяет значения по умолчанию со значениями данных.

  • render() public

    Отображает элемент ввода выпадающего списка.

  • secureFields() public

    Возвращает список полей, которые нужно защитить для этого виджета.

  • setMaxLength() protected

    Устанавливает значение атрибута "maxlength", если применимо.

  • setRequired() protected

    Устанавливает значение атрибута "required", если применимо.

  • setStep() protected

    Устанавливает значение атрибута "step", если применимо.

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

__construct() public

__construct(Cake\View\StringTemplate $templates)

Конструктор.

Параметры

Cake\View\StringTemplate $templates

Список шаблонов.

_emptyValue() protected

_emptyValue(array|string|bool $value): array

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

Параметры

array|string|bool $value

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

Возвращает

array

_isDisabled() protected

_isDisabled(string $key, array<string>|null $disabled): bool

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

Параметры

string $key

Ключ для проверки.

array<string>|null $disabled

Отключенные значения.

Возвращает

bool

_isSelected() protected

_isSelected(string $key, array<string>|string|int|false|null $selected): bool

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

Параметры

string $key

Ключ для проверки.

array<string>|string|int|false|null $selected

Выбранные значения.

Возвращает

bool

_renderContent() protected

_renderContent(array<string, mixed> $data): array<string>

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

Параметры

array<string, mixed> $data

Контекст для рендеринга select.

Возвращает

array<string>

_renderOptgroup() protected

_renderOptgroup(string $label, ArrayAccess|array $optgroup, array|null $disabled, array|string|null $selected, array $templateVars, bool $escape): string

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

Параметры

string $label

Текст метки optgroup.

ArrayAccess|array $optgroup

Данные группы опций.

array|null $disabled

Опции для отключения.

array|string|null $selected

Опции для выбора.

array $templateVars

Дополнительные переменные шаблона.

bool $escape

Включить/выключить экранирование HTML.

Возвращает

string

_renderOptions() protected

_renderOptions(iterable $options, array<string>|null $disabled, array|string|null $selected, array $templateVars, bool $escape): array<string>

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

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

Параметры

iterable $options

Опции для отображения.

array<string>|null $disabled

Опции для отключения.

array|string|null $selected

Опции для выбора.

array $templateVars

Дополнительные переменные шаблона.

bool $escape

Включить/выключить экранирование HTML.

Возвращает

array<string>

mergeDefaults() protected

mergeDefaults(array<string, mixed> $data, Cake\View\Form\ContextInterface $context): array<string, mixed>

Объединяет значения по умолчанию с предоставленными данными.

Параметры

array<string, mixed> $data

Массив данных

Cake\View\Form\ContextInterface $context

Экземпляр контекста.

Возвращает

array<string, mixed>

render() public

render(array<string, mixed> $data, Cake\View\Form\ContextInterface $context): string

Отображает элемент формы select.

Отображает элемент select на основе набора данных. Поддерживаемые ключи:

  • name - Устанавливает имя входного поля.
  • options - Массив опций.
  • disabled - true или массив опций для отключения. Если true, элемент select будет отключен.
  • 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'
    ]
 ],
]

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

Параметры

array<string, mixed> $data

Данные для рендеринга.

Cake\View\Form\ContextInterface $context

Текущий контекст формы.

Возвращает

string

Выбрасывает

RuntimeException
если имя атрибута пустое.

secureFields() public

secureFields(array<string, mixed> $data): array<string>

Возвращает список полей, которые необходимо защитить для этого виджета.

Параметры

array<string, mixed> $data

Возвращает

array<string>

setMaxLength() protected

setMaxLength(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>

Устанавливает значение атрибута "maxlength", если применимо.

Параметры

array<string, mixed> $data

Массив данных

Cake\View\Form\ContextInterface $context

Экземпляр контекста.

string $fieldName

Имя поля.

Возвращает

array<string, mixed>

setRequired() protected

setRequired(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>

Устанавливает значение атрибута "required", если применимо.

Параметры

array<string, mixed> $data

Массив данных

Cake\View\Form\ContextInterface $context

Экземпляр контекста.

string $fieldName

Имя поля.

Возвращает

array<string, mixed>

setStep() protected

setStep(array<string, mixed> $data, Cake\View\Form\ContextInterface $context, string $fieldName): array<string, mixed>

Устанавливает значение атрибута "step", если применимо.

Параметры

array<string, mixed> $data

Массив данных

Cake\View\Form\ContextInterface $context

Экземпляр контекста.

string $fieldName

Имя поля.

Возвращает

array<string, mixed>

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

$_templates protected

Экземпляр StringTemplate.

Тип

Cake\View\StringTemplate

$defaults protected

Значения по умолчанию.

Тип

array<string, mixed>

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

Spec-Zone.ru

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