Класс FormHelper
Библиотека помощника для форм.
Автоматическое создание HTML-форм на основе заданных данных.
- Cake\View\Helper реализует Cake\Event\EventListenerInterface использует Cake\Core\InstanceConfigTrait
-
Cake\View\Helper\FormHelper использует Cake\View\Helper\IdGeneratorTrait , Cake\View\Helper\SecureFieldTokenTrait , Cake\View\StringTemplateTrait
Ссылка: https://book.cakephp.org/3.0/ru/views/helpers/form.html
Расположение: View/Helper/FormHelper.php
Краткое описание констант
-
stringSECURE_SKIP'skip'
Краткое описание свойств
- Контекст текущей формы.
$_contextprotected - Фабрика контекста.
$_contextFactoryprotected -
$_datetimeOptionsprotectedСпециальные параметры, используемые для входных данных типа datetime.array -
$_datetimePartsprotectedРазличные пикеры, составляющие пикер datetime.array -
$_defaultConfigprotectedКонфигурация по умолчанию для помощника.array -
$_defaultWidgetsprotectedВиджеты по умолчаниюarray -
$_groupedInputTypesprotectedГруппированные типы входных данных.string[] -
$_lastActionprotectedstringЗначение атрибута action последней созданной формы. Используется для создания хэшей, специфичных для формы/запроса, для SecurityComponent.
- Локатор для виджетов входных данных.
$_locatorprotected -
$_unlockedFieldsprotectedstring[]Массив имён полей, исключённых из хэша Token, используемого методом validatePost в SecurityComponent.
-
$_valueSourcesprotectedИсточники, используемые при получении предварительно заполненных значений входных данных.string[] -
$fieldspublicСписок созданных полей, используется с защищёнными формами.array -
$helperspublicДругие помощники, используемые FormHelperarray -
$requestTypepublicОпределяет тип создаваемой формы. Устанавливается методом FormHelper::create().string|null
Краткое описание магических свойств
Унаследованные свойства
Краткое описание методов
- __call() public
Обработчик отсутствующего метода — реализует различные простые типы ввода. Используется для создания элементов ввода различных типов. Например,
$this->Form->text();создаст<input type="text" />, а$this->Form->range();создаст<input type="range" /> - __construct() publicСоздаёт виджеты и связывает поставщики контекста по умолчанию
- _csrfField() protected
Возвращает элемент CSRF, если данные запроса присутствуют. Используется для защиты форм в сочетании с CsrfComponent и SecurityComponent
- _datetimeOptions() protectedВспомогательный метод для преобразования данных из параметров FormHelper в формат виджета.
- _extractOption() protectedИзвлекает один параметр из массива параметров.
- _formUrl() protectedСоздаёт URL для формы на основе параметров.
- _getContext() protectedНаходит соответствующего поставщика контекста для данных.
- _getInput() protectedГенерирует элемент ввода.
- _getLabel() protectedГенерирует метку для элемента ввода.
- _groupTemplate() protectedГенерирует элемент шаблона группы.
- _initInputField() protected
Устанавливает значения по умолчанию для поля и добавляет поле в хеш безопасности формы. Также добавит класс ошибки, если поле содержит ошибки валидации.
- _inputContainerTemplate() protectedГенерирует шаблон контейнера ввода.
- _inputLabel() protectedГенерирует метку для вызова input().
- _inputType() protected
Возвращает тип ввода, который был угадан для заданного поля fieldName, на основе внутреннего типа, к которому оно связано, его имени и переменных, которые могут быть найдены в шаблоне представления.
- _isDisabled() protectedОпределяет, заблокировано ли поле.
- _lastAction() protectedПравильно сохраняет URL последнего действия формы.
- _magicOptions() protectedМагически устанавливает тип параметра и соответствующие параметры.
- _optionsOptions() protected
Выбирает переменную, содержащую параметры для поля select, если она присутствует, и устанавливает значение в ключ «options» в массиве параметров.
- _parseOptions() protectedГенерирует массив параметров ввода.
- _secure() protected
Определяет, какие поля формы должны быть использованы для хэша. Заполняет $this->fields
- _secureFieldName() protectedПолучает имя поля для использования с _secure().
- _singleDatetime() protectedВспомогательный метод для различных методов компонента single datetime.
- addContextProvider() publicДобавляет новый тип контекста.
- addWidget() publicДобавляет новый виджет в FormHelper.
- allControls() public
Генерирует набор элементов управления для
$fields. Если $fields пустой, будут использованы поля текущей модели. -
Генерирует набор элементов управления для
$fields. Если $fields пустой, будут использованы поля текущей модели. - button() publicСоздаёт элемент
<button>. - checkbox() publicСоздаёт виджет элемента checkbox.
- context() publicПолучает экземпляр контекста для текущей формы.
- contextFactory() publicУстанавливает фабрику контекста, которую будет использовать помощник.
- control() publicГенерирует элемент управления формой, включая метку и обертывающую div.
- controls() publicГенерирует набор элементов управления для
$fieldsв элементе fieldset. - create() publicВозвращает элемент HTML формы.
- date() publicГенерирует элементы ввода даты.
- dateTime() publicВозвращает набор элементов SELECT для полной настройки даты и времени: день, месяц и год, а затем время.
- day() publicВозвращает элемент SELECT для дней.
- end() public
Закрывает HTML-форму, очищает значения, установленные FormHelper::create(), и записывает скрытые поля ввода, где это необходимо.
- error() publicВозвращает отформатированное сообщение об ошибке для данного поля формы, '' если ошибок нет.
- fieldset() publicОборачивает набор элементов ввода в fieldset.
- file() publicСоздаёт виджет ввода файла.
- getSourceValue() publicПолучает значение одного поля из доступных источников.
- getValueSources() publicПолучает источники значений.
- getWidgetLocator() publicПолучает локатор виджета, используемый в данный момент помощником.
- hidden() publicСоздаёт скрытое поле ввода.
- hour() publicВозвращает элемент SELECT для часов.
- implementedEvents() publicОбработчики событий.
- Генерирует элемент управления формой, включая метку и обертывающую div.
- Генерирует набор элементов управления для
$fieldsв элементе fieldset. - isFieldError() publicВозвращает true, если для данного поля есть ошибка, иначе false
- label() publicВозвращает отформатированный элемент LABEL для HTML-форм.
- meridian() publicВозвращает элемент SELECT для AM или PM.
- minute() publicВозвращает элемент SELECT для минут.
- month() publicВозвращает элемент SELECT для месяцев.
- multiCheckbox() publicСоздаёт набор элементов checkbox на основе параметров.
- postButton() publicСоздаёт элемент
<button>с окружающим элементом<form>, который по умолчанию отправляет данные по POST.
- postLink() public
Создаёт HTML ссылку, но доступ к URL осуществляется с помощью указанного метода (по умолчанию POST). Требуется, чтобы JavaScript был включён в браузере.
- radio() publicСоздаёт набор элементов радиокнопок.
- resetTemplates() publicВосстанавливает значения по умолчанию, встроенные в FormHelper.
- secure() public
Генерирует скрытое поле с хэшем безопасности, основанным на полях, используемых в форме.
- select() publicВозвращает отформатированный элемент SELECT.
- setValueSources() publicУстанавливает источники значений.
- setWidgetLocator() publicУстанавливает локатор виджетов, который будет использовать помощник.
- submit() public
Создаёт элемент кнопки отправки. Этот метод сгенерирует элементы
<input />, которые можно использовать для отправки и сброса форм, используя $options. Кнопки-изображения можно создать, указав путь к изображению в $caption. - textarea() publicСоздаёт виджет текстового поля.
- time() publicГенерирует поля ввода времени.
- unlockField() public
Добавить или получить список полей, которые в настоящее время разблокированы. Разблокированные поля не включаются в хэш поля, используемый SecurityComponent. Разблокирование поля после того, как оно было добавлено в список защищённых полей, удалит его из списка полей.
- widget() publicОтобразить виджет с заданным именем.
- Установить реестр виджетов, который будет использовать помощник.
- year() publicВозвращает элемент SELECT для годов
Подробное описание методов
__call()source public
__call( string $method , array $params )
Обработчик отсутствующего метода — реализует различные типы простых элементов ввода. Используется для создания элементов ввода различных типов. Например, $this->Form->text(); создаст <input type="text" />, а $this->Form->range(); создаст <input type="range" />.
Использование
$this->Form->search('User.query', ['value' => 'test']); Создаст элемент ввода, подобный:
<input type="search" id="UserQuery" name="User[query]" value="test" />
Первый аргумент для типа ввода всегда должен быть именем поля в формате Model.field. Второй аргумент всегда должен быть массивом атрибутов для элемента ввода.
Параметры
- строка
$method - Имя метода/тип ввода.
- массив
$params - Параметры для вызова метода
Возвращает
строкаОтформатированный метод ввода.
Исключения
Cake\Core\Exception\ExceptionЕсли нет параметров для вызова метода.
Переопределяет
Cake\View\Helper::__call() __construct()source public
__construct( Cake\View\View $View , array $config = [] )
Конструирует виджеты и привязывает поставщики контекста по умолчанию
Параметры
-
Cake\View\View$View - Представление, к которому прикрепляется помощник.
- массив
$configнеобязательно [] - Параметры настройки для помощника.
Переопределяет
Cake\View\Helper::__construct() _csrfField()source protected
_csrfField( )
Возвращает элемент CSRF, если данные запроса присутствуют. Используется для защиты форм в сочетании с CsrfComponent и SecurityComponent
Возвращает
строка_datetimeOptions()source protected
_datetimeOptions( array $options )
Вспомогательный метод для преобразования данных параметров FormHelper в формат виджета.
Параметры
- массив
$options - Параметры для преобразования.
Возвращает
массивПреобразованные параметры.
_extractOption()source protected
_extractOption( string $name , array $options , mixed $default = null )
Извлекает один параметр из массива параметров.
Параметры
- строка
$name - Имя параметра для извлечения.
- массив
$options - Массив параметров для извлечения.
- смешанный
$defaultнеобязательно null - Значение параметра по умолчанию
Возвращает
смешанныйСодержимое параметра или значение по умолчанию
_formUrl()source protected
_formUrl( Cake\View\Form\ContextInterface $context , array $options )
Создаёт URL для формы на основе параметров.
Параметры
-
Cake\View\Form\ContextInterface$context - Объект контекста для использования.
- массив
$options - Массив параметров из create()
Возвращает
строка/массивАтрибут действия для формы.
_getContext()source protected
_getContext( mixed $data = [] )
Находит соответствующий поставщик контекста для данных.
Если тип не может быть сопоставлен, возвращается NullContext.
Параметры
- смешанный
$dataнеобязательно [] - Данные, для которых нужен поставщик контекста.
Возвращает
Cake\View\Form\ContextInterfaceПоставщик контекста.
Исключения
RuntimeExceptionесли класс контекста не реализует ContextInterface.
_getInput()source protected
_getInput( string $fieldName , array $options )
Генерирует элемент ввода
Параметры
- строка
$fieldName - имя поля
- массив
$options - Параметры для элемента ввода
Возвращает
строкаСгенерированный элемент ввода
_getLabel()source protected
_getLabel( string $fieldName , array $options )
Генерирует метку для элемента ввода
Параметры
- строка
$fieldName - Имя поля, для которого нужно сгенерировать метку.
- массив
$options - Список параметров.
Возвращает
логическое значение/строкаfalse или сгенерированный элемент метки
_groupTemplate()source protected
_groupTemplate( array $options )
Генерирует элемент шаблона группы
Параметры
- массив
$options - Параметры для шаблона группы
Возвращает
строкаСгенерированный шаблон группы
_initInputField()source protected
_initInputField( string $field , array $options = [] )
Устанавливает значения по умолчанию для поля и добавляет поле в хэш безопасности формы. Также добавит класс ошибки, если поле содержит ошибки валидации.
Параметры
-
secure- логическое значение, определяющее, должно ли поле добавляться в поля безопасности. Отключение поля с помощью параметраdisabled, также исключит поле из хэшированного ключа. -
default- смешанный - Значение, которое нужно использовать, если значение отсутствует в контексте формы. -
disabled- смешанный - Либо логическое значение, указывающее состояние отключения, либо строка в численно индексированном значении. -
id- смешанный - Еслиtrue, он будет сгенерирован автоматически на основе имени поля.
Этот метод преобразует численно индексированное 'disabled' в ассоциативный массив значений. Внутренние компоненты FormHelper ожидают ассоциативные параметры.
Выход этого метода — более полный набор атрибутов ввода, который можно передать виджету формы для генерации фактического элемента ввода.
Параметры
- строка
$field - Имя поля для инициализации параметров.
- массив
$optionsнеобязательно [] - Массив параметров для добавления параметров.
Возвращает
массивМассив параметров для ввода.
_inputContainerTemplate()source protected
_inputContainerTemplate( array $options )
Генерирует шаблон контейнера для ввода.
Параметры
- массив
$options - Опции для шаблона контейнера ввода.
Возвращает
строкаСгенерированный шаблон контейнера ввода
_inputLabel()source protected
_inputLabel( string $fieldName , string $label , array $options )
Генерирует метку для вызова input().
$options может содержать хеш с переопределениями id. Эти переопределения будут использованы вместо сгенерированных значений, если они присутствуют.
Параметры
- строка
$fieldName - Имя поля, для которого генерируется метка.
- строка
$label - Текст метки.
- массив
$options - Опции для элемента метки.
Возвращает
строкаСгенерированный элемент метки
_inputType()source protected
_inputType( string $fieldName , array $options )
Возвращает тип ввода, который был угадан для указанного поля fieldName, на основе внутреннего типа, к которому оно ассоциировано, его имени и переменных, которые могут быть найдены в шаблоне представления.
Параметры
- строка
$fieldName - имя поля, для которого нужно угадать тип
- массив
$options - опции, переданные методу input
Возвращает
строка_isDisabled()source protected
_isDisabled( array $options )
Определяет, отключено ли поле.
Параметры
- массив
$options - Набор опций.
Возвращает
логическое значениеОтключено ли поле.
_lastAction()source protected
_lastAction( string|array $url )
Правильно сохраняет URL последнего действия формы.
Параметры
- строка|массив
$url - URL последней формы.
_magicOptions()source protected
_magicOptions( string $fieldName , array $options , boolean $allowOverride )
Магически устанавливает тип опции и соответствующие опции.
Параметры
- строка
$fieldName - Имя поля, для которого генерируются опции.
- массив
$options - Список опций.
- логическое значение
$allowOverride Разрешено ли данному методу перезаписывать ключ 'type' в массиве опций.
Возвращает
массив_optionsOptions()source protected
_optionsOptions( string $fieldName , array $options )
Выбирает переменную, содержащую опции для поля select, если она присутствует, и устанавливает значение в ключ 'options' в массиве опций.
Параметры
- строка
$fieldName - Имя поля, для которого нужно найти опции.
- массив
$options - Список опций.
Возвращает
массив_parseOptions()source protected
_parseOptions( string $fieldName , array $options )
Генерирует массив опций для ввода.
Параметры
- строка
$fieldName - Имя поля, для которого нужно разобрать опции.
- массив
$options - Список опций.
Возвращает
массивОпции
_secure()source protected
_secure( boolean $lock , string|array $field , mixed $value = null )
Определяет, какие поля формы следует использовать для хэширования. Заполняет $this->fields.
Параметры
- логическое значение
$lock Является ли это поле частью валидации или исключено в рамках unlockedFields.
- строка|массив
$field Ссылка на поле, которое нужно защитить. Может быть строкой с разделителями точек для указания вложенности или массивом имен частей поля.
- смешанный
$valueнеобязательно null - Значение поля, если значение не должно быть изменено.
_secureFieldName()source protected
_secureFieldName( string $name )
Получение имени поля для использования с _secure().
Разбирает атрибут name для создания имени с разделителями точек для использования в хэшировании защищенных полей. Если имя файла имеет вид Model[поле], возвращается массив имен частей поля, например ['Model', 'поле'].
Параметры
- строка
$name - Атрибут name элементов формы.
Возвращает
массивМассив параметров имени поля, например ['Model.поле'] или ['Model', 'поле'] для полей массива, или пустой массив, если $name пуст.
_singleDatetime()source protected
_singleDatetime( array $options , string $keep )
Вспомогательный метод для различных методов компонентов single datetime.
Параметры
- массив
$options - Массив опций.
- строка
$keep - Опция, которую не нужно отключать.
Возвращает
массивaddContextProvider()source public
addContextProvider( string $type , callable $check )
Добавление нового типа контекста.
Типы контекста формы позволяют FormHelper взаимодействовать с поставщиками данных, которые поступают извне CakePHP. Например, если вы хотите использовать альтернативную ORM, например Doctrine, вы можете создать и подключить новый класс контекста, чтобы позволить FormHelper читать метаданные из Doctrine.
Параметры
- строка
$type Тип контекста. Этот ключ может быть использован для перезаписи существующих поставщиков.
- вызываемый объект
$check Вызываемый объект, который возвращает объект, когда контекст формы имеет правильный тип.
addWidget()source public
addWidget( string $name , array|Cake\View\Widget\WidgetInterface $spec )
Добавление нового виджета в FormHelper.
Позволяет добавить или заменить экземпляры виджетов пользовательским кодом.
Параметры
- строка
$name - Имя виджета. Например, 'text'.
- массив|
Cake\View\Widget\WidgetInterface$spec Имя класса или объект, реализующий интерфейс WidgetInterface.
allControls()source public
allControls( array $fields = [] , array $options = [] )
Генерирует набор элементов управления для $fields. Если $fields пуст, будут использоваться поля текущей модели.
Вы можете настроить отдельные элементы управления через $fields.
$this->Form->allControls([ 'name' => ['label' => 'custom label'] ]);
Вы можете исключить поля, указав их как false:
$this->Form->allControls(['title' => false]);
В приведенном выше примере для поля title не будет сгенерировано никакого поля.
Параметры
- массив
$fieldsнеобязательно [] Массив настроек для полей, которые будут сгенерированы. Этот массив позволяет установить пользовательские типы, метки или другие параметры.
- массив
$optionsнеобязательно [] Массив параметров. Допустимые ключи: -
fieldsetУстановите в false, чтобы отключить поле. Также можно передать массив параметров, которые будут применены в качестве атрибутов HTML к тегу fieldset. Если передать пустой массив, fieldset будет включен -legendУстановите в false, чтобы отключить легенду сгенерированного набора элементов управления. Или укажите строку, чтобы настроить текст легенды.
Возвращает
строкаЗавершенные элементы управления формы.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#generating-entire-formsallInputs()source public deprecated
allInputs( array $fields = [] , array $options = [] )
Генерирует набор элементов управления для $fields. Если $fields пустое, будут использованы поля текущей модели.
Устарело
3.4.0 Используйте FormHelper::allControls() вместо этого.Параметры
- массив
$fieldsнеобязательно [] Массив настроек для полей, которые будут сгенерированы. Этот массив позволяет задавать пользовательские типы, метки или другие параметры.
- массив
$optionsнеобязательно [] Массив опций. Допустимые ключи: -
fieldsetУстановите в false, чтобы отключить поле fieldset. Также можно передать массив параметров, которые будут применены в качестве атрибутов тега fieldset. Если вы передадите пустой массив, fieldset будет включен -legendУстановите в false, чтобы отключить легенду для сгенерированного набора элементов управления. Либо передайте строку, чтобы настроить текст легенды.
Возвращает
строкаЗавершенные элементы управления формы.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#generating-entire-formsbutton()source public
button( string $title , array $options = [] )
Создаёт тег <button>.
Атрибут type по умолчанию равен type="submit". Вы можете изменить его на другое значение, используя $options['type'].
Опции:
-
escape- кодировать HTML-сущности $title кнопки. По умолчанию false. -
confirm- сообщение подтверждения для показа. Выполнение формы продолжится только после подтверждения.
Параметры
- строка
$title - Подпись кнопки. Не кодируется автоматически в HTML.
- массив
$optionsнеобязательно [] - Массив опций и атрибутов HTML.
Возвращает
строкаТег HTML кнопки.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-button-elementscheckbox()source public
checkbox( string $fieldName , array $options = [] )
Создаёт элемент ввода типа checkbox.
Опции:
-
value- значение checkbox -
checked- булево значение, указывающее, что этот checkbox отмечен. -
hiddenField- булево значение, указывающее, нужно ли включать скрытый элемент ввода со значением ''. -
disabled- создать отключённый элемент ввода. -
default- установить значение по умолчанию для checkbox. Это позволяет устанавливать checkbox по умолчанию, без необходимости проверки данных POST. Соответствующее значение POST перезапишет значение по умолчанию.
Параметры
- строка
$fieldName - Имя поля, например "modelname.fieldname"
- массив
$optionsнеобязательно [] - Массив атрибутов HTML.
Возвращает
строка|массивЭлемент HTML текстового поля ввода.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-checkboxescontext()source public
context( Cake\View\Form\ContextInterface|null $context = null )
Получить экземпляр контекста для текущего набора форм.
Если активной формы нет, будет возвращено null.
Параметры
-
Cake\View\Form\ContextInterface|null$contextнеобязательно null - Новый контекст при установке, или null для получения.
Возвращает
Cake\View\Form\ContextInterfaceКонтекст формы.
contextFactory()source public
contextFactory( Cake\View\Form\ContextFactory $instance = null , array $contexts = [] )
Установить фабрику контекста, которую будет использовать помощник.
Параметры
-
Cake\View\Form\ContextFactory$instanceнеобязательно null - Экземпляр фабрики контекста для установки.
- массив
$contextsнеобязательно [] - Массив поставщиков контекста.
Возвращает
Cake\View\Form\ContextFactorycontrol()source public
control( string $fieldName , array $options = [] )
Генерирует элемент управления формы, включая метку и обертывающий div.
Опции
См. каждый метод типа поля для получения дополнительной информации. Любые параметры, которые являются частью $attributes или $options для различных методов type, могут быть включены в $options для input(). Кроме того, любые неизвестные ключи, которые не указаны ниже или не являются частью опций выбранного типа, будут обрабатываться как обычные атрибуты HTML для сгенерированного ввода.
-
type- Принудительно задать тип виджета. Например,type => 'select' -
label- Либо строковая метка, либо массив опций для метки. См. FormHelper::label(). -
options- Для виджетов, принимающих опции, например, radio, select. -
error- Управление сообщением об ошибке. Установите вfalseдля отключения любых сообщений об ошибках (ошибки поля и сообщения об ошибках). -
empty- Строка или булево значение для включения пустых опций выпадающего списка. -
nestedInput- Используется с элементами ввода checkbox и radio. Установите в false для рендеринга элементов ввода вне элементов метки. Может быть установлено в true для любого элемента ввода, чтобы принудительно поместить элемент ввода внутри метки. Если вы включите этот параметр для радиокнопок, вам также потребуется изменить шаблон по умолчаниюradioWrapper. -
templates- Шаблоны, которые вы хотите использовать для этого элемента ввода. Любые шаблоны будут объединены поверх уже загруженных шаблонов. Этот параметр может быть либо именем файла в /config, содержащим шаблоны для загрузки, либо массивом шаблонов для использования. -
labelOptions- Либоfalseдля отключения метки вокруг вложенных виджетов, например, radio, multicheckbox, или массив атрибутов для тега метки.selectedбудет добавлен ко всем классам, например,class => 'myclass'где widget проверен
Параметры
- строка
$fieldName - Должно быть "modelname.fieldname"
- массив
$optionsнеобязательно [] - Каждый тип ввода принимает разные опции.
Возвращает
строкаЗавершенный виджет формы.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-form-inputscontrols()source public
controls( array $fields , array $options = [] )
Генерирует набор элементов управления для $fields в элементе fieldset.
Вы можете настроить отдельные элементы управления через $fields.
$this->Form->controls([ 'name' => ['label' => 'custom label'], 'email' ]);
Параметры
- массив
$fields Массив полей для генерации. Этот массив позволяет задавать пользовательские типы, метки или другие опции.
- массив
$optionsнеобязательно [] Массив опций. Допустимые ключи: -
fieldsetУстановите в false, чтобы отключить fieldset. Также можно передать массив параметров, которые будут применены в качестве атрибутов тега fieldset. Если передать пустой массив, fieldset будет включен. -legendУстановите в false, чтобы отключить легенду для сгенерированного набора элементов. Либо передайте строку, чтобы настроить текст легенды.
Возвращает
строкаЗавершенные элементы ввода формы.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#generating-entire-formscreate()source public
create( mixed $context = null , array $options = [] )
Возвращает элемент HTML-формы.
Параметры:
-
typeМетод формы по умолчанию определяется автоматически на основе контекста формы. Если метод isCreate() контекста формы возвращает false, будет выполнен PUT-запрос. -
methodЯвно задать атрибут method формы. -
actionДействие контроллера, к которому отправляется форма (необязательно). Используйте этот параметр, если вам не нужно менять контроллер по сравнению с текущим контроллером запроса. Устарело начиная с версии 3.2, используйтеurl. -
urlURL, к которому отправляется форма. Может быть строкой или массивом URL. Если вы используете 'url', то 'action' следует оставить неопределённым. -
encodingУстановить кодировку accept-charset для формы. По умолчаниюConfigure::read('App.encoding'). -
enctypeЯвно задать кодировку формы. По умолчаниюtype => fileустановитenctypeвmultipart/form-data. -
templatesШаблоны, которые вы хотите использовать для этой формы. Все шаблоны будут слиты поверх уже загруженных шаблонов. Этот параметр может быть именем файла в /config, содержащим шаблоны, которые вы хотите загрузить, или массивом шаблонов для использования. -
contextДополнительные параметры для класса контекста. Например, EntityContext принимает параметр 'table', который позволяет задать конкретный класс Table, на котором должна основываться форма. -
idPrefixПрефикс для генерируемых атрибутов ID. -
valueSourcesИсточники, из которых следует читать значения. См. FormHelper::setValueSources() -
templateVarsПредоставить переменные шаблона для шаблона formStart.
Параметры
- mixed
$contextнеобязательно null Контекст, для которого определяется форма. Может быть экземпляром ContextInterface, сущностью ORM, результатом набора ORM или массивом метаданных. Вы можете использовать false или null для создания формы без контекста.
- array
$optionsнеобязательно [] - Массив атрибутов и параметров HTML.
Возвращает
СтрокаОтформатированный открывающий тег FORM.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#Cake\View\Helper\FormHelper::createdate()source public
date( string $fieldName , array $options = [] )
Генерация ввода даты.
Параметры:
См. dateTime() для параметров даты.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Массив параметров
Возвращает
строкаСгенерированный набор выпадающих списков для выбранных форматов времени.
См.
\Cake\View\Helper\FormHelper::dateTime() для параметров шаблонизации.dateTime()source public
dateTime( string $fieldName , array $options = [] )
Возвращает набор элементов SELECT для полной настройки даты и времени: день, месяц и год, а затем время.
Параметры даты:
-
empty- Если true, пустой элемент выбора отображается. Если строка, то эта строка отображается как пустой элемент. -
value|defaultЗначение по умолчанию для использования ввода. Значение в$this->data, соответствующее имени поля, переопределит это значение. Если значение по умолчанию не указано, используетсяtime(). -
monthNamesЕсли false, будут использоваться двузначные числа вместо текста. Если массив, будет использоваться заданный массив. -
minYearНаименьший год для использования в списке выбора года. -
maxYearМаксимальный год для использования в списке выбора года. -
orderYear- Порядок значений года в параметрах списка выбора. Возможные значения: 'asc', 'desc'. По умолчанию 'desc'.
Параметры времени:
-
empty- Если true, пустой элемент выбора отображается. Если строка, -
value|defaultЗначение по умолчанию для использования ввода. Значение в$this->data, соответствующее имени поля, переопределит это значение. Если значение по умолчанию не указано, используетсяtime(). -
timeFormatФормат времени для использования, либо 12, либо 24. -
intervalИнтервал для выбора минут. По умолчанию 1 -
round- Установите вupилиdown, если вы хотите принудительно округлить в любом направлении. По умолчанию null. -
secondУстановите в true, чтобы включить выпадающий список секунд.
Чтобы контролировать порядок ввода и любые элементы/содержимое между вводами, вы можете переопределить шаблон dateWidget. По умолчанию шаблон dateWidget:
{{month}}{{day}}{{year}}{{hour}}{{minute}}{{second}}{{meridian}}
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Массив параметров
Возвращает
строкаСгенерированный набор выпадающих списков для выбранных форматов даты и времени.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-date-and-time-inputsday()source public
day( string|null $fieldName = null , array $options = [] )
Возвращает элемент SELECT для дней.
Параметры:
-
empty- Если true, пустой элемент выбора отображается. Если строка, то эта строка отображается как пустой элемент. -
valueВыбранное значение ввода.
Параметры
- строка|null
$fieldNameнеобязательно null - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Параметры и атрибуты HTML для элемента select
Возвращает
строкаСгенерированный выпадающий список дней.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-day-inputsend()source public
end( array $secureAttributes = [] )
Закрывает HTML-форму, очищает значения, установленные FormHelper::create(), и записывает скрытые поля ввода, если это необходимо.
Сбрасывает некоторые части состояния, общие для нескольких вызовов FormHelper::create(), по умолчанию.
Параметры
- массив
$secureAttributesнеобязательно [] Безопасные атрибуты, которые будут переданы в виде атрибутов HTML в скрытые элементы ввода, сгенерированные для компонента Security.
Возвращает
строкаЗакрывающий тег FORM.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#closing-the-formerror()source public
error( string $field , string|array|null $text = null , array $options = [] )
Возвращает отформатированное сообщение об ошибке для заданного поля формы, '' если ошибок нет.
Использует шаблоны error, errorList и errorItem. Шаблоны errorList и errorItem используются для форматирования нескольких сообщений об ошибках на поле.
Параметры:
-
escapeboolean - Определяет, нужно ли экранировать содержимое ошибки.
Параметры
- строка
$field - Имя поля, например, "modelname.fieldname"
- строка|массив|null
$textнеобязательно null Сообщение об ошибке в виде строки или массива сообщений. Если массив, он должен быть хешем имен ключей => сообщений.
- массив
$optionsнеобязательно [] - См. выше.
Возвращает
строкаОтформатированные ошибки или ''.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#displaying-and-checking-errorsfieldset()source public
fieldset( string $fields = '' , array $options = [] )
Оборачивает набор вводов в поле fieldset
Параметры
- строка
$fieldsнеобязательно '' - вводы формы для обёртки в поле fieldset
- массив
$optionsнеобязательно [] Массив параметров. Допустимые ключи: -
fieldsetУстановите в false, чтобы отключить fieldset. Вы также можете передать массив параметров, которые будут применены как атрибуты HTML к тегу fieldset. Если вы передадите пустой массив, fieldset будет включен -legendУстановите в false, чтобы отключить легенду для сгенерированного набора ввода. Или передайте строку для настройки текста легенды.
Возвращает
строкаЗавершенные вводы формы.
file()source public
file( string $fieldName , array $options = [] )
Создаёт элемент ввода файла.
Параметры
- строка
$fieldName - Имя поля в формате "modelname.fieldname"
- массив
$optionsнеобязательно [] - Массив атрибутов HTML.
Возвращает
строкаСгенерированный элемент ввода файла.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-file-inputsgetSourceValue()source public
getSourceValue( string $fieldname , array|null $options = [] )
Получает значение одного поля из доступных источников.
Параметры
- string
$fieldname - Имя поля для получения значения.
- array|null
$optionsнеобязательно [] - Опции, содержащие значения по умолчанию.
Возвращает
string|nullЗначение поля, полученное из источников или по умолчанию.
getValueSources()source public
getValueSources( )
Получает источники значений.
Возвращает список, но как минимум один элемент, допустимых источников, таких как: 'context', 'data' и 'query'.
Возвращает
string[]Список источников значений.
getWidgetLocator()source public
getWidgetLocator( )
Получить локатор виджета, в настоящее время используемый помощником.
Возвращает
Cake\View\Widget\WidgetLocatorТекущая инстанция локатора
С тех пор
3.6.0hidden()source public
hidden( string $fieldName , array $options = [] )
Создает скрытое поле ввода.
Параметры
- string
$fieldName - Имя поля в формате "имя_модели.имя_поля"
- array
$optionsнеобязательно [] - Массив атрибутов HTML.
Возвращает
stringСгенерированное скрытое поле ввода
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-hidden-inputshour()source public
hour( string $fieldName , array $options = [] )
Возвращает элемент SELECT для часов.
Атрибуты:
-
empty- Если true, то пустой вариант выбора отображается. Если строка, то эта строка отображается как пустой элемент. -
valueВыбранное значение элемента ввода. -
formatУстановите в 12 или 24 для использования 12-часового или 24-часового формата. По умолчанию 24.
Параметры
- string
$fieldName - Префиксное имя для элемента SELECT
- array
$optionsнеобязательно [] - Список атрибутов HTML
Возвращает
stringЗаполненный элемент выбора часов
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-hour-inputsimplementedEvents()source public
implementedEvents( )
Обработчики событий.
Возвращает
arrayПереопределяет
Cake\View\Helper::implementedEvents() input()source public deprecated
input( string $fieldName , array $options = [] )
Генерирует элемент управления формой, включая метку и обертывающую div.
Устарело
3.4.0 Используйте FormHelper::control() вместо этого.Параметры
- string
$fieldName - Должно быть "имя_модели.имя_поля"
- array
$optionsнеобязательно [] - Каждый тип ввода принимает разные опции.
Возвращает
stringЗаполненный виджет формы.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-form-inputsinputs()source public deprecated
inputs( array $fields , array $options = [] )
Генерирует набор элементов управления для $fields , заключенных в элемент fieldset.
Устарело
3.4.0 Используйте FormHelper::controls() вместо этого.Параметры
- array
$fields Массив полей для генерации. Этот массив позволяет задавать пользовательские типы, метки или другие параметры.
- array
$optionsнеобязательно [] Массив опций. Допустимые ключи: -
fieldsetУстановите в false, чтобы отключить fieldset. Также можно передать массив параметров, которые будут применены как атрибуты тега fieldset. Если вы передадите пустой массив, fieldset будет включен. -legendУстановите в false, чтобы отключить легенду для сгенерированного набора ввода. Или укажите строку, чтобы настроить текст легенды.
Возвращает
stringЗаполненные поля формы.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#generating-entire-formsisFieldError()source public
isFieldError( string $field )
Возвращает true, если для данного поля есть ошибка, иначе false
Параметры
- string
$field - Должно быть "имя_модели.имя_поля"
Возвращает
booleanЕсли есть ошибки, этот метод возвращает true, иначе false.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#displaying-and-checking-errorslabel()source public
label( string $fieldName , string|null $text = null , array $options = [] )
Возвращает отформатированный элемент LABEL для HTML-форм.
Автоматически сгенерирует атрибут for , если он не задан.
Опции
-
for- Установите атрибут for, если он не определен, атрибут for будет сгенерирован из параметра $fieldName с помощью FormHelper::_domId(). -
escape- Установите вfalse, чтобы отключить экранирование текста метки. По умолчаниюtrue.
Примеры:
Текст и атрибут for генерируются из имени поля
echo $this->Form->label('published');
<label for="PostPublished">Published</label> Пользовательский текст:
echo $this->Form->label('published', 'Publish');
<label for="published">Publish</label> Пользовательские атрибуты:
echo $this->Form->label('published', 'Publish', [
'for' => 'post-publish'
]);
<label for="post-publish">Publish</label> Вложение тега input:
echo $this->Form->label('published', 'Publish', [
'for' => 'published',
'input' => $this->text('published'),
]);
<label for="post-publish">Publish <input type="text" name="published"></label> Если вы хотите вложить input в метки, вам нужно изменить шаблоны по умолчанию.
Параметры
- string
$fieldName - Должно быть "имя_модели.имя_поля"
- string|null
$textнеобязательно null Текст, который будет отображаться в поле метки. Если $text не определен, текст будет извлечен из fieldName.
- array
$optionsнеобязательно [] - Массив атрибутов HTML.
Возвращает
stringОтформатированный элемент LABEL
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-labelsmeridian()source public
meridian( string $fieldName , array $options = [] )
Возвращает элемент SELECT для AM или PM.
Атрибуты:
-
empty- Если true, то пустой вариант выбора отображается. Если строка, то эта строка отображается как пустой элемент. -
valueВыбранное значение элемента ввода.
Параметры
- string
$fieldName - Префиксное имя для элемента SELECT
- array
$optionsнеобязательно [] - Массив опций
Возвращает
stringЗаполненный элемент выбора AM или PM
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-meridian-inputsminute()source public
minute( string $fieldName , array $options = [] )
Возвращает элемент SELECT для минут.
Атрибуты:
-
empty- Если true, то пустой вариант выбора отображается. Если строка, то эта строка отображается как пустой элемент. -
valueВыбранное значение элемента ввода. -
intervalИнтервал, с которым создаются варианты минут. -
roundКак вы хотите округлять значение, если оно не попадает точно в интервал. Принимает 'up', 'down' и null.
Параметры
- string
$fieldName - Префиксное имя для элемента SELECT
- array
$optionsнеобязательно [] - Массив опций.
Возвращает
stringЗаполненный элемент выбора минут.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-minute-inputsmonth()source public
month( string $fieldName , array $options = [] )
Возвращает элемент SELECT для месяцев.
Параметры:
-
monthNames— Если false, будут использоваться двузначные числа вместо текста. Если массив, будет использован данный массив. -
empty— Если true, отображается пустой элемент выбора. Если строка, эта строка отображается как пустой элемент. -
value— Выбранное значение поля ввода.
Параметры
- строка
$fieldName - Префиксное имя для элемента SELECT
- массив
$optionsнеобязательно [] - Атрибуты для элемента select
Возвращаемое значение
строкаСгенерированный выпадающий список выбора месяца.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-month-inputsmultiCheckbox()source public
multiCheckbox( string $fieldName , array|Traversable $options , array $attributes = [] )
Создает набор флажков из вариантов.
Параметры
-
escape— Если true, содержимое вариантов будет закодировано в HTML-сущности. По умолчанию true. -
val— Выбранное значение поля ввода. -
class— При использовании множественного выбора флажков имя класса, применяемого к div. По умолчанию 'checkbox'. -
disabled— Управление атрибутом disabled. При создании флажков,trueотключит все флажки. Также можно задать список значений, которые нужно отключить при создании флажков. -
hiddenField— Установите в false, чтобы удалить скрытое поле, гарантирующее, что значение всегда отправляется. -
label— Либоfalseдля отключения метки вокруг виджета, либо массив атрибутов для тега метки.selectedбудет добавлен к любым классам, например,'class' => 'myclass'там, где виджет отмечен
Может использоваться вместо выпадающего списка с атрибутом multiple.
Параметры
- строка
$fieldName - Атрибут name элемента SELECT
- массив|Перечисляемый
$options Массив элементов OPTION (как пары 'значение'=>'Текст'), используемых в элементе флажков.
- массив
$attributesнеобязательно [] - Атрибуты HTML элемента select.
Возвращаемое значение
СтрокаОтформатированный элемент SELECT
См. также
\Cake\View\Helper\FormHelper::select() для поддерживаемых форматов вариантов.postButton()source public
postButton( string $title , string|array $url , array $options = [] )
Создает тег <button> с окружающим <form>, который по умолчанию отправляет данные POST.
Этот метод создает элемент <form>. Поэтому не используйте этот метод в уже открытой форме. Вместо этого используйте FormHelper::submit() или FormHelper::button() для создания кнопок внутри открытых форм.
Параметры:
-
data— Массив с ключом/значением для передачи в скрытое поле ввода -
method— Метод запроса для использования. Установите в 'delete' или другие, чтобы смоделировать HTTP/1.1 DELETE (или другие) запрос. По умолчанию 'post'. -
form— Массив с любыми параметрами, которые может принимать FormHelper::create() - Другие параметры такие же, как и у метода button.
-
confirm— Сообщение подтверждения для отображения. Выполнение формы будет продолжено только после подтверждения.
Параметры
- строка
$title - Текст кнопки. Не кодируется автоматически в HTML
- строка|массив
$url - URL в виде строки или массива
- массив
$optionsнеобязательно [] - Массив параметров и атрибутов HTML.
Возвращаемое значение
СтрокаТег HTML-кнопки.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-standalone-buttons-and-post-linkspostLink()source public
postLink( string $title , string|array|null $url = null , array $options = [] )
Создает HTML-ссылку, но обращается к URL с указанным методом (по умолчанию POST). Требуется включенный JavaScript в браузере.
Этот метод создает элемент <form>. Если вы хотите использовать этот метод внутри существующей формы, вы должны использовать опцию block, чтобы новая форма была размещена в блоке представления, который может быть рендерен вне основной формы.
Если вам нужна только кнопка для отправки формы, используйте FormHelper::button() или FormHelper::submit().
Параметры:
-
data— Массив с ключом/значением для передачи в скрытое поле ввода -
method— Метод запроса для использования. Установите в 'delete' для моделирования запроса HTTP/1.1 DELETE. По умолчанию 'post'. -
confirm— Сообщение подтверждения для отображения. Выполнение формы будет продолжено только после подтверждения. -
block— Установите в true, чтобы добавить форму в блок представления «postLink» или укажите имя пользовательского блока. - Другие параметры такие же, как и у метода HtmlHelper::link().
- Параметр
onclickбудет заменён.
Параметры
- строка
$title - Содержание, которое будет обернуто тегами .
- строка|массив|null
$urlнеобязательно null Cake-относительный URL или массив параметров URL, или внешний URL (начинается с http://)
- массив
$optionsнеобязательно [] - Массив атрибутов HTML.
Возвращаемое значение
ЭлементСсылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-standalone-buttons-and-post-linksradio()source public
radio( string $fieldName , array|Traversable $options = [] , array $attributes = [] )
Создает набор радио-виджетов.
Атрибуты:
-
value— Указывает значение, когда этот радио-кнопка выбрана. -
label— Либоfalseдля отключения метки вокруг виджета, либо массив атрибутов для тега метки.selectedбудет добавлен к любым классам, например,'class' => 'myclass'там, где виджет отмечен. -
hiddenField— Булево значение, указывающее, нужно ли включать скрытый элемент ввода со значением «». Это полезно для создания наборов радио-кнопок, которые не являются непрерывными. -
disabled— Установите вtrueилиdisabledдля отключения всех радио-кнопок. Используйте массив значений для отключения определённых радио-кнопок. -
empty— Установите вtrue, чтобы создать элемент ввода со значением '' как первый вариант. Когдаtrue, метка радио будет «пустой». Установите этот параметр в строку, чтобы контролировать значение метки.
Параметры
- строка
$fieldName - Имя поля, например «modelname.fieldname»
- массив|Перечисляемый
$optionsнеобязательно [] - Массив параметров радио-кнопок.
- массив
$attributesнеобязательно [] - Массив атрибутов.
Возвращаемое значение
СтрокаПолный набор радио-виджетов.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-radio-buttonsresetTemplates()source public
resetTemplates( )
Восстанавливает значения по умолчанию, встроенные в FormHelper.
Этот метод не будет сбрасывать шаблоны, заданные в пользовательских виджетах.
secure()source public
secure( array $fields = [] , array $secureAttributes = [] )
Генерирует скрытое поле с хешем безопасности на основе полей, используемых в форме.
Если $secureAttributes задано, эти атрибуты HTML будут объединены с скрытыми тегами ввода, сгенерированными для компонента Security. Это особенно полезно для задания атрибутов HTML5, таких как 'form'.
Параметры
- массив
$fieldsнеобязательно [] Если задано, указывает список полей, используемых при генерации хеша, в противном случае используется $this->fields.
- массив
$secureAttributesнеобязательно [] будет передан как атрибуты HTML в скрытые элементы ввода, сгенерированные для компонента Security.
Возвращаемое значение
Скрытое поле ввода с хешем безопасности или пустая строка, когда формы с защитой не используются.
select()source public
select( string $fieldName , array|Traversable $options = [] , array $attributes = [] )
Возвращает отформатированный элемент SELECT.
Атрибуты:
-
multiple- показать многовыборный список. Если установлено в 'checkbox', будут созданы несколько флажков. -
empty- Если true, отображается пустой элемент списка. Если строка, эта строка отображается как пустой элемент. -
escape- Если true, содержимое опций будет закодировано в HTML-сущности. По умолчанию true. -
valВыбранное значение входного элемента. -
disabled- Управление атрибутом disabled. При создании списка, установите значение true, чтобы отключить список. Установите массив, чтобы отключить конкретные элементы опций.
Использование опций
Простой массив создаст обычные опции:
$options = [1 => 'one', 2 => 'two'];
$this->Form->select('Model.field', $options)); В то время как вложенный массив опций создаст группы опций с опциями внутри них.
$options = [
1 => 'bill',
'fred' => [
2 => 'fred',
3 => 'fred jr.'
]
];
$this->Form->select('Model.field', $options); Если у вас есть несколько опций, которым нужно задать одинаковое значение атрибута value, вы можете использовать массив массивов, чтобы это выразить:
$options = [
['text' => 'United states', 'value' => 'USA'],
['text' => 'USA', 'value' => 'USA'],
]; Параметры
- строка
$fieldName - Атрибут имени SELECT
- массив|Объект-перечислитель
$optionsнеобязательно [] Массив элементов OPTION (в виде пар 'значение'=>'Текст') для использования в элементе SELECT
- массив
$attributesнеобязательно [] - Атрибуты HTML элемента select.
Возвращает
строкаОтформатированный элемент SELECT
См. также
\Cake\View\Helper\FormHelper::multiCheckbox() для создания нескольких флажков.Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-select-pickerssetValueSources()source public
setValueSources( string|string[] $sources )
Устанавливает источники значений.
Допустимые значения 'context', 'data' и 'query'. Вам нужно предоставить один допустимый контекст или несколько, как список строк. Порядок устанавливает приоритет.
Параметры
- строка|массив строк
$sources - Строка или список строк, определяющих источник.
Возвращает
$this
setWidgetLocator()source public
setWidgetLocator( Cake\View\Widget\WidgetLocator $instance )
Устанавливает локатор виджета, который будет использовать помощник.
Параметры
-
Cake\View\Widget\WidgetLocator$instance - Экземпляр локатора для установки.
Возвращает
$this
С версии
3.6.0submit()source public
submit( string|null $caption = null , array $options = [] )
Создаёт элемент кнопки отправки. Этот метод сгенерирует элементы <input />, которые могут использоваться для отправки и сброса форм с помощью $options. Кнопки с изображениями могут быть созданы, если вы предоставите путь к изображению в $caption.
Опции
-
type- Установите 'reset', для сброса ввода. По умолчанию 'submit' -
templateVars- Дополнительные переменные шаблона для элемента ввода и его контейнера. - Другие атрибуты будут назначены элементу ввода.
Параметры
- строка|null
$captionнеобязательно null Метка, отображаемая на кнопке ИЛИ, если строка содержит :// или расширение .jpg, .jpe, .jpeg, .gif, .png, используйте изображение, если расширение существует, и первый символ — /, изображение относительно webroot, ИЛИ, если первый символ не /, изображение относительно webroot/img.
- массив
$optionsнеобязательно [] - Массив опций. См. выше.
Возвращает
строкаHTML кнопка отправки
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-buttons-and-submit-elementstextarea()source public
textarea( string $fieldName , array $options = [] )
Создаёт виджет textarea.
Опции:
-
escape- Признак, нужно ли экранировать содержимое textarea. По умолчанию true.
Параметры
- строка
$fieldName - Имя поля в формате "имя_модели.имя_поля"
- массив
$optionsнеобязательно [] - Массив HTML-атрибутов и специальных опций выше.
Возвращает
строкаСгенерированный HTML элемент ввода текста
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-textareastime()source public
time( string $fieldName , array $options = [] )
Генерирует поля времени.
Опции:
См. dateTime() для опций времени.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Массив опций
Возвращает
строкаСгенерированный набор списков select для форматов времени, выбранных.
См. также
\Cake\View\Helper\FormHelper::dateTime() для опций шаблонирования.unlockField()source public
unlockField( string|null $name = null )
Добавить в или получить список полей, которые в настоящее время разблокированы. Разблокированные поля не включаются в хэш поля, используемый SecurityComponent. Разблокировка поля после добавления его в список защищённых полей удалит его из списка полей.
Параметры
- строка|null
$nameнеобязательно null - Имя поля, разделённое точкой.
Возвращает
массив|nullЛибо null, либо список полей.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#working-with-securitycomponentwidget()source public
widget( string $name , array $data = [] )
Отобразить виджет с указанным именем.
Это метод более низкого уровня. Для встроенных виджетов следует использовать методы, такие как text, hidden, и radio. Если вы используете дополнительные виджеты, вы должны использовать этот метод, чтобы отобразить виджет без метки или обертывающего div.
Параметры
- строка
$name - Имя виджета, например 'text'.
- массив
$dataнеобязательно [] - Данные для отображения.
Возвращает
строкаwidgetRegistry()source public deprecated
widgetRegistry( Cake\View\Widget\WidgetRegistry $instance = null , array $widgets = [] )
Установить реестр виджетов, который будет использовать помощник.
Устаревший
3.6.0 Используйте FormHelper::widgetLocator() вместо этого.Параметры
- Cake\View\Widget\WidgetRegistry
$instanceнеобязательно null - Экземпляр реестра для установки.
- массив
$widgetsнеобязательно [] - Массив виджетов
Возвращает
Cake\View\Widget\WidgetRegistryyear()source public
year( string $fieldName , array $options = [] )
Возвращает элемент SELECT для годов
Атрибуты:
-
empty- Если true, отображается пустой элемент списка. Если строка, эта строка отображается как пустой элемент. -
orderYear- Порядок значений года в элементах списка select. Возможные значения 'asc', 'desc'. По умолчанию 'desc' -
valueВыбранное значение входного элемента. -
maxYearМаксимальный год, который должен отображаться в элементе списка. -
minYearМинимальный год, который должен отображаться в элементе списка.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Опции и атрибуты для элементов select.
Возвращает
строкаЗаполненный элемент select для ввода года
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-year-inputsМетоды, унаследованные от Cake\View\Helper
__debugInfo()source public
__debugInfo( )
Возвращает массив, который может быть использован для описания внутреннего состояния этого объекта.
Возвращает
массив__get()source public
__get( string $name )
Ленито загружает помощники.
Параметры
- строка
$name - Имя свойства, к которому осуществляется доступ.
Возвращает
Cake\View\Helper|nullЭкземпляр помощника, если помощник с указанным именем существует
__set()source public
__set( string $name , mixed $value )
Магический установщик для удаленных свойств.
Параметры
- строка
$name - Имя свойства.
- смешанное
$value - Значение для установки.
_cleanConfirmMessage()source protected
_cleanConfirmMessage( string $message )
Возвращает строку, готовую для использования в confirm()
Параметры
- строка
$message - Сообщение для очистки
Возвращает
смешанное_confirm()source protected
_confirm( string $message , string $okCode , string $cancelCode = '' , array $options = [] )
Возвращает строку, которая будет использована в качестве обработчика onclick для диалоговых окон confirm.
Параметры
- строка
$message - Сообщение для отображения
- строка
$okCode - Код, который будет выполнен после выбора пользователем 'OK'
- строка
$cancelCodeнеобязательно '' - Код, который будет выполнен после выбора пользователем 'Отмена'
- массив
$optionsнеобязательно [] - Массив опций
Возвращает
строкаJS-код onclick
addClass()source public
addClass( array $options = [] , string|null $class = null , string $key = 'class' )
Добавляет заданный класс к параметрам элемента.
Параметры
- массив
$optionsнеобязательно [] - Массив опций/атрибутов для добавления класса
- строка|null
$classнеобязательно null - Имя добавляемого класса.
- строка
$keyнеобязательно 'class' - ключ для использования класса.
Возвращает
массивМассив опций со значением $key.
getView()source public
getView( )
Получить экземпляр представления, к которому привязан помощник.
Возвращает
Cake\View\ViewЭкземпляр привязанного представления.
initialize()source public
initialize( array $config )
Метод обработчика конструктора.
Реализуйте этот метод, чтобы избежать необходимости перезаписывать конструктор и вызывать родительский.
Параметры
- массив
$config - Настройки конфигурации, предоставленные этому помощнику.
Методы, используемые из Cake\View\Helper\IdGeneratorTrait
_domId()source protected
_domId( string $value )
Сгенерировать ID, подходящий для использования в атрибуте ID.
Параметры
- строка
$value - Значение, которое нужно преобразовать в ID.
Возвращает
строкаСгенерированный id.
_id()source protected
_id( string $name , string $val )
Сгенерировать атрибут id для элемента.
Обеспечивает уникальность id для заданного набора полей.
Параметры
- строка
$name - Имя атрибута ID.
- строка
$val - Значение атрибута ID.
Возвращает
строкаСгенерированный id.
_idSuffix()source protected
_idSuffix( string $val )
Сгенерировать суффикс ID.
Обеспечивает уникальность id для заданного набора полей.
Параметры
- строка
$val - Значение атрибута ID.
Возвращает
строкаСгенерированный суффикс ID.
Методы, используемые из Cake\View\Helper\SecureFieldTokenTrait
_buildFieldToken()source protected
_buildFieldToken( string $url , array $fields , array $unlockedFields = [] )
Сгенерировать данные токена для предоставленных входных данных.
Параметры
- строка
$url - URL, на который отправляется форма.
- массив
$fields Если установлено, указывает список полей, используемых при генерации хэша.
- массив
$unlockedFieldsнеобязательно [] Список полей, исключённых из проверки полей.
Возвращает
массивДанные токена.
Методы, используемые из Cake\View\StringTemplateTrait
formatTemplate()source public
formatTemplate( string $name , array $data )
Форматирует шаблонную строку с помощью $data
Параметры
- строка
$name - Имя шаблона.
- массив
$data - Данные для вставки.
Возвращает
строкаgetTemplates()source public
getTemplates( string|null $template = null )
Получает используемые шаблоны или конкретный шаблон.
Параметры
- строка|null
$templateнеобязательно null - Строка для чтения определённого шаблона, null для всех.
Возвращает
строка|массивsetTemplates()source public
setTemplates( array $templates )
Устанавливает используемые шаблоны.
Параметры
- массив
$templates - Шаблоны для добавления.
Возвращает
$this
templater()source public
templater( )
Возвращает экземпляр templater.
Возвращает
Cake\View\StringTemplatetemplates()source public deprecated
templates( string|null|array $templates = null )
Получение/установка используемых шаблонов.
Устаревшее
3.4.0 Используйте setTemplates()/getTemplates() вместо этого.Параметры
- строка|null|массив
$templatesнеобязательно null null или строка позволяют чтение шаблонов. Массив позволяет добавлять шаблоны.
Возвращает
$this|строка|массив
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет единственный ключ конфигурации.
Параметры
- строка
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\Exceptionесли пытаетесь переопределить существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Читает ключ конфигурации.
Параметры
- строка|null
$key - Ключ для чтения.
Возвращает
смешанное_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge = false )
Записывает ключ конфигурации.
Параметры
- string|array
$key - Ключ для записи.
- mixed
$value - Значение для записи.
- boolean|string
$mergeопционально false True для рекурсивного объединения, 'shallow' для простого объединения, false для перезаписи, по умолчанию false.
Исключения
Cake\Core\Exception\Exceptionесли попытка перезаписи существующей конфигурации
config()source public устаревшее
config( string|array|null $key = null , mixed|null $value = null , boolean $merge = true )
Получение/установка конфигурации.
Использование
Чтение всей конфигурации:
$this->config();
Чтение конкретного значения:
$this->config('key'); Чтение вложенного значения:
$this->config('some.nested.key'); Установка конкретного значения:
$this->config('key', $value); Установка вложенного значения:
$this->config('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Устаревшее
3.4.0 Используйте setConfig()/getConfig() вместо этого.Параметры
- string|array|null
$keyопционально null - Ключ для получения/установки или массив всей конфигурации.
- mixed|null
$valueопционально null - Значение для установки.
- boolean
$mergeопционально true - Выполнять рекурсивное объединение или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
mixedЗначение конфигурации для чтения или сам объект при операциях записи.
Исключения
Cake\Core\Exception\ExceptionПри попытке установить некорректный ключ.
configShallow()source public
configShallow( string|array $key , mixed|null $value = null )
Объединение предоставленной конфигурации с существующей. В отличие от config(), которая выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка конкретного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки или массив всей конфигурации.
- mixed|null
$valueопционально null - Значение для установки.
Возвращает
$this
getConfig()source public
getConfig( string|null $key = null , mixed $default = null )
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение конкретного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
- string|null
$keyопционально null - Ключ для получения или null для всей конфигурации.
- mixed
$defaultопционально null - Возвращаемое значение, когда ключ не существует.
Возвращает
mixedДанные конфигурации по указанному ключу или null, если ключ не существует.
setConfig()source public
setConfig( string|array $key , mixed|null $value = null , boolean $merge = true )
Устанавливает конфигурацию.
Использование
Установка конкретного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки или массив всей конфигурации.
- mixed|null
$valueопционально null - Значение для установки.
- boolean
$mergeопционально true - Выполнять рекурсивное объединение или перезаписывать существующую конфигурацию, по умолчанию true.
Возвращает
$this
Исключения
Cake\Core\Exception\ExceptionПри попытке установить некорректный ключ.
Краткое описание магических методов
Подробное описание свойств
$_datetimeOptionssource
protected array
Специальные параметры, используемые для ввода даты и времени.
[
'interval', 'round', 'monthNames', 'minYear', 'maxYear',
'orderYear', 'timeFormat', 'second'
] $_datetimePartssource
protected array
Различные компоненты, составляющие выборник даты и времени.
['year', 'month', 'day', 'hour', 'minute', 'second', 'meridian']
$_defaultConfigsource
protected array
Конфигурация по умолчанию для помощника.
[
'idPrefix' => null,
'errorClass' => 'form-error',
'typeMap' => [
'string' => 'text',
'text' => 'textarea',
'uuid' => 'string',
'datetime' => 'datetime',
'timestamp' => 'datetime',
'date' => 'date',
'time' => 'time',
'boolean' => 'checkbox',
'float' => 'number',
'integer' => 'number',
'tinyinteger' => 'number',
'smallinteger' => 'number',
'decimal' => 'number',
'binary' => 'file',
],
'templates' => [
// Used for button elements in button().
'button' => '<button{{attrs}}>{{text}}</button>',
// Used for checkboxes in checkbox() and multiCheckbox().
'checkbox' => '<input type="checkbox" name="{{name}}" value="{{value}}"{{attrs}}>',
// Input group wrapper for checkboxes created via control().
'checkboxFormGroup' => '{{label}}',
// Wrapper container for checkboxes.
'checkboxWrapper' => '<div class="checkbox">{{label}}</div>',
// Widget ordering for date/time/datetime pickers.
'dateWidget' => '{{year}}{{month}}{{day}}{{hour}}{{minute}}{{second}}{{meridian}}',
// Error message wrapper elements.
'error' => '<div class="error-message">{{content}}</div>',
// Container for error items.
'errorList' => '<ul>{{content}}</ul>',
// Error item wrapper.
'errorItem' => '<li>{{text}}</li>',
// File input used by file().
'file' => '<input type="file" name="{{name}}"{{attrs}}>',
// Fieldset element used by allControls().
'fieldset' => '<fieldset{{attrs}}>{{content}}</fieldset>',
// Open tag used by create().
'formStart' => '<form{{attrs}}>',
// Close tag used by end().
'formEnd' => '</form>',
// General grouping container for control(). Defines input/label ordering.
'formGroup' => '{{label}}{{input}}',
// Wrapper content used to hide other content.
'hiddenBlock' => '<div style="display:none;">{{content}}</div>',
// Generic input element.
'input' => '<input type="{{type}}" name="{{name}}"{{attrs}}/>',
// Submit input element.
'inputSubmit' => '<input type="{{type}}"{{attrs}}/>',
// Container element used by control().
'inputContainer' => '<div class="input {{type}}{{required}}">{{content}}</div>',
// Container element used by control() when a field has an error.
'inputContainerError' => '<div class="input {{type}}{{required}} error">{{content}}{{error}}</div>',
// Label element when inputs are not nested inside the label.
'label' => '<label{{attrs}}>{{text}}</label>',
// Label element used for radio and multi-checkbox inputs.
'nestingLabel' => '{{hidden}}<label{{attrs}}>{{input}}{{text}}</label>',
// Legends created by allControls()
'legend' => '<legend>{{text}}</legend>',
// Multi-Checkbox input set title element.
'multicheckboxTitle' => '<legend>{{text}}</legend>',
// Multi-Checkbox wrapping container.
'multicheckboxWrapper' => '<fieldset{{attrs}}>{{content}}</fieldset>',
// Option element used in select pickers.
'option' => '<option value="{{value}}"{{attrs}}>{{text}}</option>',
// Option group element used in select pickers.
'optgroup' => '<optgroup label="{{label}}"{{attrs}}>{{content}}</optgroup>',
// Select element,
'select' => '<select name="{{name}}"{{attrs}}>{{content}}</select>',
// Multi-select element,
'selectMultiple' => '<select name="{{name}}[]" multiple="multiple"{{attrs}}>{{content}}</select>',
// Radio input element,
'radio' => '<input type="radio" name="{{name}}" value="{{value}}"{{attrs}}>',
// Wrapping container for radio input/label,
'radioWrapper' => '{{label}}',
// Textarea input element,
'textarea' => '<textarea name="{{name}}"{{attrs}}>{{value}}</textarea>',
// Container for submit buttons.
'submitContainer' => '<div class="submit">{{content}}</div>',
//Confirm javascript template for postLink()
'confirmJs' => '{{confirm}}',
],
// set HTML5 validation message to custom required/empty messages
'autoSetCustomValidity' => false,
] $_defaultWidgetssource
protected array
Свойства по умолчанию
[
'button' => ['Button'],
'checkbox' => ['Checkbox'],
'file' => ['File'],
'label' => ['Label'],
'nestingLabel' => ['NestingLabel'],
'multicheckbox' => ['MultiCheckbox', 'nestingLabel'],
'radio' => ['Radio', 'nestingLabel'],
'select' => ['SelectBox'],
'textarea' => ['Textarea'],
'datetime' => ['DateTime', 'select'],
'_default' => ['Basic'],
] $_groupedInputTypessource
protected string[]
Типы групповых входов.
['radio', 'multicheckbox', 'date', 'time', 'datetime']
$_lastActionsource
protected string
Значение атрибута action последней созданной формы. Используется для создания хэшей, специфичных для формы/запроса, для SecurityComponent.
''
$_unlockedFieldssource
protected string[]
Массив имён полей, исключённых из хэша Token, используемого методом SecurityComponent's validatePost
См. также
\Cake\View\Helper\FormHelper::_secure()\Cake\Controller\Component\SecurityComponent::validatePost()
[]
$_valueSourcessource
protected string[]
Источники, используемые для получения предопределённых значений ввода.
['context']
$requestTypesource
public string|null
Определяет тип создаваемой формы. Устанавливается методом FormHelper::create().
Подробное описание магических свойств
$Htmlsource
public Cake\View\Helper\HtmlHelper
$Urlsource
public Cake\View\Helper\UrlHelper
© 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.8/class-Cake.View.Helper.FormHelper.html