Класс 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Специальные параметры, используемые для дат и времени.array -
$_datetimePartsprotectedРазличные пикеры, составляющие пикер дат и времени.array -
$_defaultConfigprotectedКонфигурация по умолчанию для помощника.array -
$_defaultWidgetsprotectedВиджеты по умолчаниюarray -
$_groupedInputTypesprotectedГрупповые типы ввода.array -
$_lastActionprotectedstringЗначение атрибута action последней созданной формы. Используется для создания хэшей, специфичных для формы/запроса, для SecurityComponent.
- Локатор для виджетов ввода.
$_locatorprotected -
$_unlockedFieldsprotectedarrayМассив имён полей, исключённых из хэша Token, используемого методом validatePost компонента SecurityComponent
-
$_valueSourcesprotectedИсточники, используемые при получении предварительно заполненных значений ввода.array -
$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
Возвращает тип ввода, который был угадан для предоставленного имени поля, на основе внутреннего типа, к которому он связан, его имени и переменных, которые могут быть найдены в шаблоне представления.
- _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Создаёт виджет textarea.
- 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()
Возвращает
строка|массивАтрибут action для формы.
_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- boolean, указывает, должно ли поле добавляться в поля безопасности. Отключение поля с помощью параметраdisabled, также исключит поле из хешируемого ключа. -
default- mixed - Значение, которое будет использоваться, если в контексте формы нет значения. -
disabled- mixed - Либо boolean, указывающий состояние отключения, либо строка в численно индексированном значении. -
id- mixed - Еслиtrue, он будет сгенерирован автоматически на основе имени поля.
Этот метод преобразует численно индексированное 'disabled' в значение ассоциативного массива. Внутренние компоненты FormHelper ожидают ассоциативные параметры.
Выходные данные этой функции — более полный набор атрибутов ввода, которые могут быть переданы виджету формы для генерации фактического ввода.
Параметры
- string
$field - Имя поля, для которого нужно инициализировать параметры.
- array
$optionsoptional [] - Массив параметров для добавления дополнительных параметров.
Возвращает
arrayМассив параметров для поля ввода.
_inputContainerTemplate()source protected
_inputContainerTemplate( array $options )
Генерирует шаблон контейнера ввода.
Параметры
- array
$options - Параметры для шаблона контейнера ввода.
Возвращает
stringСгенерированный шаблон контейнера ввода
_inputLabel()source protected
_inputLabel( string $fieldName , string $label , array $options )
Генерирует метку для вызова input().
$options может содержать хеш с переопределениями id. Эти переопределения будут использованы вместо сгенерированных значений, если они присутствуют.
Параметры
- string
$fieldName - Имя поля, для которого нужно сгенерировать метку.
- string
$label - Текст метки.
- array
$options - Параметры для элемента метки.
Возвращает
stringСгенерированный элемент метки
_inputType()source protected
_inputType( string $fieldName , array $options )
Возвращает тип ввода, который был угадан для предоставленного fieldName, на основе внутреннего типа, к которому он связан, его имени и переменных, которые можно найти в шаблоне представления.
Параметры
- string
$fieldName - Имя поля, для которого нужно угадать тип.
- array
$options - Параметры, переданные методу input.
Возвращает
string_isDisabled()source protected
_isDisabled( array $options )
Определяет, отключено ли поле.
Параметры
- array
$options - Набор параметров.
Возвращает
booleanОтключено ли поле.
_lastAction()source protected
_lastAction( string|array $url )
Правильно сохраняет URL последнего действия формы.
Параметры
- string|array
$url - URL последней формы.
_magicOptions()source protected
_magicOptions( string $fieldName , array $options , boolean $allowOverride )
Магически устанавливает тип параметра и соответствующие параметры.
Параметры
- string
$fieldName - Имя поля, для которого нужно сгенерировать параметры.
- array
$options - Список параметров.
- boolean
$allowOverride Разрешено ли этому методу перезаписывать ключ 'type' в параметрах.
Возвращает
array_optionsOptions()source protected
_optionsOptions( string $fieldName , array $options )
Выбирает переменную, содержащую параметры для поля select, если она присутствует, и устанавливает значение в ключ 'options' в массиве параметров.
Параметры
- string
$fieldName - Имя поля, для которого нужно найти параметры.
- array
$options - Список параметров.
Возвращает
array_parseOptions()source protected
_parseOptions( string $fieldName , array $options )
Генерирует массив параметров ввода.
Параметры
- string
$fieldName - Имя поля, для которого нужно разобрать параметры.
- array
$options - Список параметров.
Возвращает
arrayПараметры
_secure()source protected
_secure( boolean $lock , string|array $field , mixed $value = null )
Определяет, какие поля формы следует использовать для хэша. Заполняет $this->fields
Параметры
- boolean
$lock Должно ли это поле быть частью валидации или исключено как часть unlockedFields.
- string|array
$field Ссылка на поле, которое необходимо защитить. Может быть строкой с точкой, чтобы указать вложенность, или массивом имен полей.
- mixed
$valueoptional null - Значение поля, если значение не должно быть изменено.
_secureFieldName()source protected
_secureFieldName( string $name )
Получить имя поля для использования с _secure().
Парсит атрибут name, чтобы создать имя, разделенное точкой, для использования в хэше защищенных полей. Если имя поля имеет вид Model[field], возвращается массив имен полей, как ['Model', 'field']. Возвращается пустой массив, если $name пустой.
Параметры
- string
$name - Атрибут name полей формы.
Возвращает
arrayМассив параметров имени поля, как ['Model.field'] или ['Model', 'field'] для массивов полей, или пустой массив, если $name пустой.
_singleDatetime()source protected
_singleDatetime( array $options , string $keep )
Вспомогательный метод для различных методов компонентов single datetime.
Параметры
- array
$options - Массив параметров.
- string
$keep - Параметр, для отключения.
Возвращает
arrayaddContextProvider()source public
addContextProvider( string $type , callable $check )
Добавляет новый тип контекста.
Типы контекста формы позволяют FormHelper взаимодействовать с поставщиками данных, которые поступают извне CakePHP. Например, если вы хотите использовать альтернативную ORM, такую как Doctrine, вы можете создать и подключить новый класс контекста, чтобы позволить FormHelper читать метаданные из Doctrine.
Параметры
- string
$type Тип контекста. Этот ключ может быть использован для перезаписи существующих поставщиков.
- callable
$check Вызываемый объект, который возвращает объект, когда контекст формы имеет правильный тип.
addWidget()source public
addWidget( string $name , array|Cake\View\Widget\WidgetInterface $spec )
Добавляет новый виджет в FormHelper.
Позволяет добавлять или заменять экземпляры виджетов пользовательским кодом.
Параметры
- string
$name - Имя виджета. Например, 'text'.
- array|
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, чтобы отключить поле fieldset. Также можно передать массив параметров, которые будут применены как атрибуты 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. Также можно передать массив параметров, которые будут применены как атрибуты HTML тегу 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. Это позволяет устанавливать чекбоксы как выбранные, без необходимости проверки 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- Для виджетов, которые принимают параметры, например, радиокнопки, списки. -
error- Управляет сообщением об ошибке, которое генерируется. Установите вfalseдля отключения любого вида сообщений об ошибках (ошибки поля и сообщения об ошибках). -
empty- Строка или булево значение для включения пустых вариантов в выпадающем списке. -
nestedInput- Используется с чекбоксами и радиокнопками. Установите в false, чтобы рендерить элементы ввода вне элементов метки. Может быть установлен в true для любого элемента ввода, чтобы принудительно поместить элемент ввода внутрь метки. Если вы включите этот параметр для радиокнопок, вам также необходимо изменить шаблон по умолчаниюradioWrapper. -
templates- Шаблоны, которые вы хотите использовать для этого элемента ввода. Любые шаблоны будут объединены поверх уже загруженных шаблонов. Этот параметр может быть либо именем файла в /config, содержащим шаблоны, которые вы хотите загрузить, либо массивом шаблонов для использования. -
labelOptions- Либоfalseдля отключения метки вокруг вложенных виджетов, например, радиокнопок, многовыборных чекбоксов, либо массив атрибутов для тега метки.selectedбудет добавлен к любым классам, например,class => 'myclass'при выборе виджета.
Параметры
- строка
$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. Также можно передать массив параметров, которые будут применены как атрибуты HTML тегу 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необязательно [] - Массив параметров
Возвращает
строкуСгенерированный набор элементов select для выбранных форматов времени.
См. также
\Cake\View\Helper\FormHelper::dateTime() для параметров шаблонизации.dateTime()source public
dateTime( string $fieldName , array $options = [] )
Возвращает набор элементов SELECT для полного формата даты и времени: день, месяц и год, а затем время.
Параметры даты:
-
empty- Если true, отображается пустой элемент select. Если строка, эта строка отображается как пустой элемент. -
value|defaultЗначение по умолчанию для ввода. Значение в$this->data, соответствующее имени поля, переопределит это значение. Если значение по умолчанию не указано, будет использоватьсяtime(). -
monthNamesЕсли false, будут использоваться 2-значные числа вместо текста. Если массив, будет использован заданный массив. -
minYearМинимальный год для использования в элементе select года -
maxYearМаксимальный год для использования в элементе select года -
orderYear- Порядок значений года в элементах select. Возможные значения 'asc', 'desc'. По умолчанию 'desc'.
Параметры времени:
-
empty- Если true, отображается пустой элемент select. Если строка, -
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необязательно [] - Массив параметров
Возвращает
строкуСгенерированный набор элементов select для выбранных форматов даты и времени.
Ссылка
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, отображается пустой элемент select. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение ввода.
Параметры
- строка|null
$fieldNameнеобязательно null - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Параметры и HTML-атрибуты для элемента select
Возвращает
строкуСгенерированный элемент 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 - Имя поля в формате "имя_модели.имя_поля"
- массив
$optionsнеобязательно [] - Массив атрибутов HTML.
Возвращает
строкаСгенерированный элемент ввода файла.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-file-inputsgetSourceValue()source public
getSourceValue( string $fieldname , array|null $options = [] )
Получает значение одного поля из доступных источников.
Параметры
- строка
$fieldname - Имя поля, для которого нужно получить значение.
- массив|null
$optionsнеобязательно [] - Опции, содержащие значения по умолчанию.
Возвращает
строка|nullЗначение поля, полученное из источников или значений по умолчанию.
getValueSources()source public
getValueSources( )
Получает источники значений.
Возвращает список, но по крайней мере один элемент, допустимых источников, таких как: 'context', 'data' и 'query'.
Возвращает
массивСписок источников значений.
getWidgetLocator()source public
getWidgetLocator( )
Получить локатор виджета, используемый в данный момент помощником.
Возвращает
Cake\View\Widget\WidgetLocatorТекущая инстанция локатора
С момента
3.6.0hidden()source public
hidden( string $fieldName , array $options = [] )
Создаёт скрытое поле ввода.
Параметры
- строка
$fieldName - Имя поля в формате "имя_модели.имя_поля"
- массив
$optionsнеобязательно [] - Массив атрибутов HTML.
Возвращает
строкаСгенерированный скрытый элемент ввода
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-hidden-inputshour()source public
hour( string $fieldName , array $options = [] )
Возвращает элемент SELECT для часов.
Атрибуты:
-
empty- Если true, пустой элемент select отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение элемента ввода. -
formatУстановите значение 12 или 24, чтобы использовать 12-часовой или 24-часовой формат. По умолчанию 24.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Список атрибутов HTML
Возвращает
строкаЗаполненный элемент select часов
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-hour-inputsimplementedEvents()source public
implementedEvents( )
Обработчики событий.
Возвращает
массивПереопределяет
Cake\View\Helper::implementedEvents() input()source public deprecated
input( string $fieldName , array $options = [] )
Генерирует элемент управления формы, включая метку и контейнер div.
Устарело
3.4.0 Используйте FormHelper::control() вместо этого.Параметры
- строка
$fieldName - Должно быть "имя_модели.имя_поля"
- массив
$optionsнеобязательно [] - Каждый тип ввода требует различных параметров.
Возвращает
строкаЗаполненный виджет формы.
Ссылка
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() вместо этого.Параметры
- массив
$fields Массив полей для генерации. Этот массив позволяет устанавливать пользовательские типы, метки или другие параметры.
- массив
$optionsнеобязательно [] Массив опций. Допустимые ключи: -
fieldsetУстановите в false, чтобы отключить fieldset. Также можно передать массив параметров, которые будут применены в качестве атрибутов тега fieldset. Если вы передадите пустой массив, fieldset будет включён. -fieldsetУстановите в false, чтобы отключить заголовок для сгенерированного набора ввода. Или передайте строку, чтобы настроить текст заголовка.
Возвращает
строкаЗаполненные элементы ввода формы.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#generating-entire-formsisFieldError()source public
isFieldError( string $field )
Возвращает true, если для данного поля есть ошибка, иначе false.
Параметры
- строка
$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 в метки, вам нужно будет изменить шаблоны по умолчанию.
Параметры
- строка
$fieldName - Должно быть "имя_модели.имя_поля"
- строка|null
$textнеобязательно null Текст, который будет отображаться в поле метки. Если $text не определён, текст будет взят из fieldName.
- массив
$optionsнеобязательно [] - Массив атрибутов HTML.
Возвращает
строкаОтформатированный элемент 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, пустой элемент select отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение элемента ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Массив опций
Возвращает
строкаЗаполненный элемент select 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, пустой элемент select отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение ввода. -
intervalИнтервал, с которым должны создаваться варианты минут. -
roundКак вы хотите округлить значение, если оно не подходит точно к интервалу. Принимает 'up', 'down' и null.
Параметры
- строка
$fieldName - Префиксное имя для элемента SELECT
- массив
$optionsнеобязательно [] - Массив опций.
Возвращаемое значение
строкаЗавершенный элемент ввода select для минут.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-minute-inputsmonth()source public
month( string $fieldName , array $options = [] )
Возвращает элемент SELECT для месяцев.
Опции:
-
monthNames- Если false, будут использоваться 2-значные числа вместо текста. Если массив, будет использоваться данный массив. -
empty- Если true, пустой элемент select отображается. Если строка, эта строка отображается как пустой элемент. -
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- При использовании нескольких = checkbox имя класса, которое нужно применить к div. По умолчанию 'checkbox'. -
disabled- Управление атрибутом disabled. При создании чекбоксов,trueотключит все чекбоксы. Также можно задать disabled в виде списка значений, которые нужно отключить при создании чекбоксов. -
hiddenField- Установите в false, чтобы удалить скрытое поле, которое гарантирует, что значение всегда отправляется. -
label- Либоfalseдля отключения метки вокруг виджета, либо массив атрибутов для тега label.selectedбудет добавлен ко всем классам, например,'class' => 'myclass', где виджет отмечен
Может использоваться вместо select-бокса с атрибутом multiple.
Параметры
- строка
$fieldName - Атрибут name элемента SELECT
- массив|перебираемый
$options Массив элементов OPTION (в виде пар 'value'=>'Текст') для использования в элементе чекбоксов.
- массив
$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 URL относительно Cake или массив параметров URL, или внешний URL (начинается с http://)
- массив
$optionsнеобязательно [] - Массив HTML-атрибутов.
Возвращаемое значение
строкаЭлемент
<a />Ссылка
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для отключения метки вокруг виджета, либо массив атрибутов для тега label.selectedбудет добавлен ко всем классам, например,'class' => 'myclass', где виджет отмечен -
hiddenField- логическое значение, указывающее, хотите ли вы, чтобы результаты radio() включали скрытый ввод со значением ''. Это полезно для создания наборов радиокнопок, которые не являются непрерывными. -
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); Если у вас есть несколько вариантов, которые должны иметь одинаковое значение атрибута, вы можете использовать массив массивов, чтобы это выразить:
$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|array $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 - Имя поля в формате "modelname.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необязательно [] - Массив параметров
Возвращает
строкаСгенерированный набор полей выбора для форматов времени.
См. также
\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 - Имя виджета. Например, «текст».
- массив
$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, пустая опция select отображается. Если строка, эта строка отображается как пустой элемент. -
orderYear- Порядок значений года в опциях select. Возможные значения 'asc', 'desc'. По умолчанию 'desc' -
valueВыбранное значение поля ввода. -
maxYearМаксимальный год, который должен отображаться в элементе select. -
minYearМинимальный год, который должен отображаться в элементе select.
Параметры
- строка
$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 )
Магический setter для удаленных свойств.
Параметры
- строка
$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необязательно [] - Массив параметров
Возвращает
строкакод onclick JS
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 для элемента.
Обеспечивает, что идентификаторы для заданного набора полей уникальны.
Параметры
- строка
$name - Имя атрибута 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() вместо этого.Параметры
- string|null|array
$templatesнеобязательный null null или строка для чтения шаблонов. Массив позволяет добавлять шаблоны.
Возвращает
$this|string|array
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )
Удаляет единственный ключ конфигурации.
Параметры
- string
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\Exceptionпри попытке перезаписать существующую конфигурацию
_configRead()source protected
_configRead( string|null $key )
Считывает ключ конфигурации.
Параметры
- string|null
$key - Ключ для чтения.
Возвращает
mixed_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 deprecated
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Значение конфигурации, которое читается.
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 array
Сгруппированные типы ввода.
['radio', 'multicheckbox', 'date', 'time', 'datetime']
$_lastActionsource
protected string
Значение атрибута action последней созданной формы. Используется для создания хэшей, специфичных для формы/запроса, для компонента Security.
''
$_unlockedFieldssource
protected array
Массив имён полей, исключённых из хэша Token, используемого методом validatePost компонента Security.
См. также
\Cake\View\Helper\FormHelper::_secure()\Cake\Controller\Component\SecurityComponent::validatePost()
[]
$_valueSourcessource
protected array
Источники, используемые при получении предварительно заполненных значений ввода.
['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.7/class-Cake.View.Helper.FormHelper.html