Класс 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
Краткое описание магических свойств
Наследуемые свойства
-
_View,_helperMap,fieldset,plugin,request,tags,theme_config,_configInitialized_idPrefix,_idSuffixes_templater
Краткое описание методов
- __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
Выбирает переменную, содержащую параметры для поля выбора, если она присутствует, и устанавливает значение в ключ «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Создает набор флажков из параметров.
- 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. Второй аргумент всегда должен быть массивом атрибутов для элемента ввода.
Параметры
- string
$method - Имя метода/тип ввода.
- array
$params - Параметры для вызова метода.
Возвращает
stringОтформатированный метод ввода.
Выбрасывает
Cake\Core\Exception\ExceptionКогда нет параметров для вызова метода.
Переопределяет
Cake\View\Helper::__call() __construct()source public
__construct( Cake\View\View $View , array $config = [] )
Конструирует виджеты и связывает поставщики контекста по умолчанию.
Параметры
-
Cake\View\View$View - Представление, к которому прикреплён помощник.
- array
$configoptional [] - Параметры конфигурации помощника.
Переопределяет
Cake\View\Helper::__construct() _csrfField()source protected
_csrfField( )
Возвращает элемент CSRF, если данные запроса присутствуют. Используется для защиты форм в сочетании с CsrfComponent и SecurityComponent.
Возвращает
string_datetimeOptions()source protected
_datetimeOptions( array $options )
Вспомогательный метод для преобразования данных параметров FormHelper в формат виджета.
Параметры
- array
$options - Параметры для преобразования.
Возвращает
arrayПреобразованные параметры.
_extractOption()source protected
_extractOption( string $name , array $options , mixed $default = null )
Извлекает один параметр из массива параметров.
Параметры
- string
$name - Имя параметра для извлечения.
- array
$options - Массив параметров.
- mixed
$defaultoptional null - Значение параметра по умолчанию.
Возвращает
mixedСодержание параметра или значение по умолчанию.
_formUrl()source protected
_formUrl( Cake\View\Form\ContextInterface $context , array $options )
Создаёт URL для формы на основе параметров.
Параметры
-
Cake\View\Form\ContextInterface$context - Объект контекста для использования.
- array
$options - Массив параметров из create()
Возвращает
string|arrayАтрибут action для формы.
_getContext()source protected
_getContext( mixed $data = [] )
Находит соответствующий поставщик контекста для данных.
Если ни один тип не совпадает, будет возвращён NullContext.
Параметры
- mixed
$dataoptional [] - Данные для получения поставщика контекста.
Возвращает
Cake\View\Form\ContextInterfaceПоставщик контекста.
Выбрасывает
RuntimeExceptionесли класс контекста не реализует ContextInterface.
_getInput()source protected
_getInput( string $fieldName , array $options )
Генерирует элемент ввода.
Параметры
- string
$fieldName - Имя поля.
- array
$options - Параметры элемента ввода.
Возвращает
stringСгенерированный элемент ввода.
_getLabel()source protected
_getLabel( string $fieldName , array $options )
Генерирует метку для ввода.
Параметры
- string
$fieldName - Имя поля для генерации метки.
- array
$options - Список параметров.
Возвращает
boolean|stringfalse или сгенерированный элемент метки.
_groupTemplate()source protected
_groupTemplate( array $options )
Генерирует элемент шаблона группы.
Параметры
- array
$options - Параметры шаблона группы.
Возвращает
stringСгенерированный шаблон группы.
_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 - имя поля, для которого необходимо определить тип
- массив
$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[field], возвращается массив частей имени поля, например, ['Model', 'field'].
Параметры
- строка
$name - Атрибут name элементов формы.
Возвращает
массивМассив параметров имени поля, например, ['Model.field'] или ['Model', 'field'] для полей массива, или пустой массив, если $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. Если вы передаете пустой массив, поле ввода будет включено -legendУстановите в false, чтобы отключить легенду для сгенерированного набора элементов управления. Или укажите строку, чтобы настроить текст легенды.
Возвращает
строкаЗавершенные элементы управления формой.
Ссылка
https://book.cakephp.org/3.0/ru/views/helpers/form.html#generating-entire-formsallInputs()source public устарело
allInputs( array $fields = [] , array $options = [] )
Создайте набор элементов управления для $fields. Если $fields пустое, будут использованы поля текущей модели.
Устарело
3.4.0 Используйте FormHelper::allControls() вместо этого.Параметры
- массив
$fieldsнеобязательно [] Массив настроек для полей, которые будут сгенерированы. Этот массив позволяет устанавливать пользовательские типы, метки или другие параметры.
- массив
$optionsнеобязательно [] Массив параметров. Допустимые ключи: -
fieldsetУстановите в false, чтобы отключить поле ввода. Вы также можете передать массив параметров, которые будут применены в качестве атрибутов HTML к тегу 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- логическое значение, указывающее, хотите ли вы, чтобы результаты checkbox() включали скрытый ввод со значением ''. -
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- используется с элементами ввода checkbox и радио. Установите в 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, чтобы отключить поле ввода. Вы также можете передать массив параметров, которые будут применены в качестве атрибутов HTML к тегу 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', который позволяет задать конкретный класс таблицы, на основе которого должна строиться форма. -
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 - Имя поля в формате "имя_модели.имя_поля"
- массив
$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, пустой элемент выбора отображается. Если строка, то эта строка отображается как пустой элемент. -
valueВыбранное значение элемента ввода. -
formatУстанавливается в 12 или 24 для использования 12-часового или 24-часового формата. По умолчанию 24.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Список HTML-атрибутов
Возвращает
строкаЗаполненный элемент выбора часов
Ссылка
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. Также можно передать массив параметров, которые будут применены в качестве HTML-атрибутов тегу fieldset. Если передать пустой массив, fieldset будет включен. -legendУстановите в 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> Вложение тега ввода:
echo $this->Form->label('published', 'Publish', [
'for' => 'published',
'input' => $this->text('published'),
]);
<label for="post-publish">Publish <input type="text" name="published"></label> Если вы хотите вкладывать элементы ввода в метки, вам нужно будет изменить шаблоны по умолчанию.
Параметры
- строка
$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, пустой элемент выбора отображается. Если строка, то эта строка отображается как пустой элемент. -
valueВыбранное значение элемента ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Массив опций
Возвращает
строкаЗаполненный элемент выбора 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.
Параметры
- string
$fieldName - Префиксное имя для элемента SELECT
- array
$optionsoptional [] - Массив опций.
Возвращаемое значение
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, будут использоваться 2-значные числа вместо текста. Если массив, будет использован указанный массив. -
empty- Если true, пустая опция select отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение ввода.
Параметры
- string
$fieldName - Префиксное имя для элемента SELECT
- array
$optionsoptional [] - Атрибуты для элемента select
Возвращаемое значение
stringСгенерированный выпадающий список выбора месяца.
Ссылка
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отключит все чекбоксы. Также можно задать disabled список значений, которые нужно отключить при создании чекбоксов. -
hiddenField- Установите в false, чтобы удалить скрытое поле, гарантирующее, что значение всегда отправляется. -
label- Либоfalseдля отключения метки вокруг виджета, либо массив атрибутов для тега метки.selectedбудет добавлен к любым классам, например,'class' => 'myclass', где виджет отмечен
Может использоваться вместо поля select с атрибутом multiple.
Параметры
- string
$fieldName - Атрибут name элемента SELECT
- array|Traversable
$options Массив элементов OPTION (в виде пар 'значение'=>'Текст'), которые будут использоваться в элементе чекбоксов.
- array
$attributesoptional [] - HTML-атрибуты элемента select.
Возвращаемое значение
stringОтформатированный элемент 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- Сообщение подтверждения для отображения. Выполнение формы продолжится только при подтверждении.
Параметры
- string
$title - Текст кнопки. Не кодируется автоматически в HTML.
- string|array
$url - URL в виде строки или массива
- array
$optionsoptional [] - Массив опций и HTML-атрибутов.
Возвращаемое значение
stringТег 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будет заменена.
Параметры
- string
$title - Содержимое, которое будет обернуто тегами <a>.
- string|array|null
$urloptional null Относительный URL приложения или массив параметров URL, или внешний URL (начинается с http://)
- array
$optionsoptional [] - Массив HTML-атрибутов.
Возвращаемое значение
stringЭлемент <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для отключения метки вокруг виджета, либо массив атрибутов для тега метки.selectedбудет добавлен к любым классам, например,'class' => 'myclass', где виджет отмечен. -
hiddenField- boolean, указывающий, нужно ли включать скрытый ввод со значением ''. Это полезно для создания наборов радиокнопок, которые не являются непрерывными. -
disabled- Установите вtrueилиdisabledдля отключения всех радиокнопок. Используйте массив значений для отключения определённых радиокнопок. -
empty- Установите вtrueдля создания ввода со значением '' в качестве первой опции. Когдаtrue, метка радиокнопки будет 'пустая'. Установите эту опцию в строку, чтобы контролировать значение метки.
Параметры
- string
$fieldName - Имя поля, например "имямодели.имяполя"
- array|Traversable
$optionsoptional [] - Массив опций для радиокнопок.
- array
$attributesoptional [] - Массив атрибутов.
Возвращаемое значение
stringЗаконченный набор виджетов радиокнопок.
Ссылка
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 - Имя поля в формате "имя_модели.имя_поля"
- массив
$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 - Имя виджета. Например, 'text'.
- массив
$dataнеобязательно [] - Данные для отображения.
Возвращает
строкаwidgetRegistry()source public устарело
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- Порядок значений года в элементах выбора. Возможные значения 'asc', 'desc'. По умолчанию 'desc' -
valueВыбранное значение поля ввода. -
maxYearМаксимальный год, который должен отображаться в элементе выбора. -
minYearМинимальный год, который должен отображаться в элементе выбора.
Параметры
- строка
$fieldName - Префиксное имя для элемента SELECT
- массив
$optionsнеобязательно [] - Опции и атрибуты для элементов выбора.
Возвращает
строкуЗаполненный элемент выбора года
Ссылка
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Экземпляр помощника, если помощник с заданным именем существует
_confirm()source protected
_confirm( string $message , string $okCode , string $cancelCode = '' , array $options = [] )
Возвращает строку, которая должна использоваться в качестве обработчика onclick для диалогов подтверждения.
Параметры
- строка
$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.
Параметры
- строка
$value - Значение, которое нужно преобразовать в идентификатор.
Возвращает
строкаСгенерированный идентификатор.
_id()source protected
_id( string $name , string $val )
Генерирует атрибут ID для элемента.
Обеспечивает уникальность идентификаторов для заданного набора полей.
Параметры
- строка
$name - Имя атрибута ID.
- строка
$val - Значение атрибута 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 )
Читает значение конфигурации по ключу.
Параметры
- 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 устаревший
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>',
]
] $_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
Значение атрибута действия последней созданной формы. Используется для создания специфичных для формы/запроса хэшей для SecurityComponent.
''
$_unlockedFieldssource
protected array
Массив имён полей, исключённых из хэша токена, используемого методом validatePost SecurityComponent.
См. также
\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.6/class-Cake.View.Helper.FormHelper.html