Класс 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
Ссылка: http://book.cakephp.org/3.0/en/views/helpers/form.html
Расположение: View/Helper/FormHelper.php
Подробное описание метода
__callsource 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 - Параметры для вызова метода.
Возвращает
stringМетод форматированного элемента ввода.
Вызывает исключение
Cake\Core\Exception\ExceptionКогда нет параметров для вызова метода.
Переопределяет
Cake\View\Helper::__call() __constructsource public
__construct( Cake\View\View $View , array $config [] )
Создаёт виджеты и связывает поставщиков контекста по умолчанию.
Параметры
-
Cake\View\View$View - Представление, к которому прикреплён помощник.
- массив
$configнеобязательно [] - Настройки конфигурации помощника.
Переопределяет
Cake\View\Helper::__construct() _addDefaultContextProviderssource protected
_addDefaultContextProviders( )
Добавляет стандартный набор поставщиков контекста, предоставляемых CakePHP.
_csrfFieldsource protected
_csrfField( )
Возвращает элемент CSRF, если данные запроса присутствуют. Используется для защиты форм в сочетании с CsrfComponent и SecurityComponent.
Возвращает
stringстрока
_datetimeOptionssource protected
_datetimeOptions( array $options )
Вспомогательный метод для преобразования данных опций FormHelper в формат виджета.
Параметры
- массив
$options - Опции для преобразования.
Возвращает
arrayПреобразованные параметры.
_extractOptionsource protected
_extractOption( string $name , array $options , mixed $default null )
Извлекает одну опцию из массива опций.
Параметры
- строка
$name - Имя опции, которую нужно извлечь.
- массив
$options - Массив опций, из которого нужно извлечь.
- смешанный
$defaultнеобязательно null - Значение опции по умолчанию.
Возвращает
mixedСодержимое опции или значение по умолчанию.
_formUrlsource protected
_formUrl( Cake\View\Form\ContextInterface $context , array $options )
Создаёт URL для формы на основе опций.
Параметры
-
Cake\View\Form\ContextInterface$context - Объект контекста для использования.
- массив
$options - Массив опций из create()
Возвращает
stringАтрибут action для формы.
_getContextsource protected
_getContext( mixed $data [] )
Находит соответствующего поставщика контекста для данных.
Если тип не может быть сопоставлен, будет возвращён NullContext.
Параметры
- смешанный
$dataнеобязательно [] - Данные для поиска поставщика контекста.
Возвращает
mixedПоставщик контекста.
Вызывает исключение
RuntimeExceptionесли класс контекста не реализует ContextInterface.
_getInputsource protected
_getInput( string $fieldName , array $options )
Генерирует элемент ввода.
Параметры
- строка
$fieldName - Имя поля.
- массив
$options - Опции для элемента ввода.
Возвращает
stringСгенерированный элемент ввода.
_getLabelsource protected
_getLabel( string $fieldName , array $options )
Генерирует метку для элемента ввода.
Параметры
- строка
$fieldName - Имя поля для генерации метки.
- массив
$options - Список опций.
Возвращает
boolean|stringfalse или сгенерированный элемент метки.
_groupTemplatesource protected
_groupTemplate( array $options )
Генерирует элемент шаблона группы.
Параметры
- массив
$options - Опции для шаблона группы.
Возвращает
stringСгенерированный шаблон группы.
_initInputFieldsource protected
_initInputField( string $field , array $options [] )
Устанавливает значения по умолчанию для поля и добавляет поле в хеш ввода для защиты формы. Также добавит класс ошибки, если поле содержит ошибки валидации.
Опции
-
secure- логическое значение, указывающее, следует ли добавлять поле в поля безопасности. Отключение поля с помощью опцииdisabled, также исключит поле из хэшированного ключа. -
default- смешанный тип - значение, которое нужно использовать, если в контексте формы нет значения. -
disabled- смешанный тип - логическое значение, указывающее на состояние отключения, или строка в численно индексированном значении.
Этот метод преобразует численно индексированное «disabled» в ассоциативное значение массива. Внутренние компоненты FormHelper ожидают ассоциативные опции.
Результат этой функции — более полный набор атрибутов ввода, которые можно передать виджету формы для генерации фактического элемента ввода.
Параметры
- строка
$field - Имя поля для инициализации опций.
- массив
$optionsнеобязательно [] - Массив опций для добавления дополнительных опций.
Возвращает
arrayМассив опций для элемента ввода.
_inputContainerTemplatesource protected
_inputContainerTemplate( array $options )
Генерирует шаблон контейнера ввода.
Параметры
- массив
$options - Опции для шаблона контейнера ввода.
Возвращает
stringСгенерированный шаблон контейнера ввода.
_inputLabelsource protected
_inputLabel( string $fieldName , string $label , array $options )
Создать метку для вызова input().
$options может содержать хэш с переопределениями id. Эти переопределения будут использованы вместо сгенерированных значений, если они присутствуют.
Параметры
- строка
$fieldName - Имя поля, для которого нужно сгенерировать метку.
- строка
$label - Текст метки.
- массив
$options - Опции для элемента метки.
Возвращает
stringСгенерированный элемент метки
_inputTypesource protected
_inputType( string $fieldName , array $options )
Возвращает тип ввода, который был определен для заданного fieldName на основе внутреннего типа, связанного с ним, его имени и переменных, которые можно найти в шаблоне представления.
Параметры
- строка
$fieldName - имя поля, для которого нужно определить тип
- массив
$options - опции, переданные методу input
Возвращает
stringстрока
_isRequiredFieldsource protected
_isRequiredField( Cake\Validation\ValidationSet $validationRules )
Возвращает, является ли поле обязательным для заполнения на основе свойств проверки от объекта валидации.
Параметры
-
Cake\Validation\ValidationSet$validationRules - Набор правил валидации.
Возвращает
booleantrue, если поле обязательно для заполнения, false в противном случае
_lastActionsource protected
_lastAction( string|array $url )
Правильно сохраняет URL последнего действия формы.
Параметры
- строка|массив
$url - URL последней формы.
_magicOptionssource protected
_magicOptions( string $fieldName , array $options , boolean $allowOverride )
Магически устанавливает тип опции и соответствующие опции.
Параметры
- строка
$fieldName - Имя поля, для которого нужно сгенерировать опции.
- массив
$options - Список опций.
- boolean
$allowOverride - Разрешено ли этому методу перезаписывать ключ 'type' в массиве опций.
Возвращает
arrayмассив
_optionsOptionssource protected
_optionsOptions( string $fieldName , array $options )
Выбирает переменную, содержащую опции для поля select, если она присутствует, и устанавливает значение в ключ 'options' в массиве опций.
Параметры
- строка
$fieldName - Имя поля, для которого нужно найти опции.
- массив
$options - Список опций.
Возвращает
arrayмассив
_parseOptionssource protected
_parseOptions( string $fieldName , array $options )
Генерирует массив опций ввода.
Параметры
- строка
$fieldName - Имя поля, для которого нужно проанализировать опции.
- массив
$options - Список опций.
Возвращает
arrayОпции
_securesource protected
_secure( boolean $lock , string|array $field , mixed $value null )
Определяет, какие поля формы следует использовать для хэша. Заполняет $this->fields.
Параметры
- boolean
$lock - Является ли это поле частью валидации или исключено как часть unlockedFields.
- строка|массив
$field - Ссылка на поле, которое нужно защитить. Может быть строкой с точкой для обозначения вложенности или массивом имен частей поля.
- смешанное
$valueнеобязательно null - Значение поля, если значение не должно изменяться.
_secureFieldNamesource protected
_secureFieldName( string $name )
Получить имя поля для использования с _secure().
Анализирует атрибут name, чтобы создать имя со знаками разделения точкой для использования в хэше защищённых полей. Если имя файла имеет форму Model[field], возвращается массив частей имени, таких как ['Model', 'field'].
Параметры
- строка
$name - Атрибут name элементов формы.
Возвращает
arrayМассив параметров имени поля, таких как ['Model.field'] или ['Model', 'field'] для полей массива, или пустой массив, если $name пустой.
_singleDatetimesource protected
_singleDatetime( array $options , string $keep )
Вспомогательный метод для различных методов компонента single datetime.
Параметры
- массив
$options - Массив опций.
- строка
$keep - Опция, которую не нужно отключать.
Возвращает
arrayмассив
addContextProvidersource public
addContextProvider( string $type , callable $check )
Добавить новый тип контекста.
Типы контекстов Form позволяют FormHelper взаимодействовать с поставщиками данных, которые поступают извне CakePHP. Например, если вы хотите использовать альтернативную ORM, например Doctrine, вы можете создать и подключить новый класс контекста, чтобы FormHelper мог читать метаданные из Doctrine.
Параметры
- строка
$type - Тип контекста. Этот ключ можно использовать для перезаписи существующих поставщиков.
- вызываемый объект
$check - Вызываемый объект, который возвращает объект при совпадении типа контекста формы.
addWidgetsource public
addWidget( string $name , array|Cake\View\Widget\WidgetInterface $spec )
Добавить новый виджет в FormHelper.
Позволяет добавлять или заменять экземпляры виджетов с помощью пользовательского кода.
Параметры
- строка
$name - Имя виджета. Например, 'text'.
- массив|
Cake\View\Widget\WidgetInterface$spec - Имя класса строки или объект, реализующий WidgetInterface.
allInputssource public
allInputs( array $fields [] , array $options [] )
Создать набор полей ввода для $fields. Если $fields пустой, будут использоваться поля текущей модели.
Вы можете настроить отдельные поля через $fields.
$this->Form->allInputs([ 'name' => ['label' => 'custom label'] ]);
Вы можете исключить поля, указав их как false:
$this->Form->allInputs(['title' => false]);
В приведенном выше примере поле для поля title не будет сгенерировано.
Параметры
- массив
$fieldsнеобязательно [] - Массив настроек для полей, которые будут сгенерированы. Этот массив позволяет задавать пользовательские типы, метки или другие параметры.
- массив
$optionsнеобязательно [] - Массив опций. Допустимые ключи: -
fieldsetУстановите в значение false, чтобы отключить поле для набора полей. Также можно передать массив параметров для применения в качестве атрибутов HTML тега fieldset. Если вы передадите пустой массив, поле для набора полей будет включено -legendУстановите в значение false, чтобы отключить легенду для сгенерированного набора полей ввода. Или укажите строку, чтобы настроить текст легенды.
Возвращает
stringЗаполненные поля формы.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#generating-entire-formsbuttonsource public
button( string $title , array $options [] )
Создает тег <button>.
Атрибут type по умолчанию равен type="submit". Вы можете изменить его на другое значение, используя $options['type'].
Опции:
-
escape- кодировать HTML-сущности в $title кнопки. По умолчанию false.
Параметры
- строка
$title - Подпись кнопки. Не кодируется автоматически.
- массив
$optionsнеобязательно [] - Массив опций и атрибутов HTML.
Возвращает
stringТег HTML кнопки.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-button-elementscheckboxsource public
checkbox( string $fieldName , array $options [] )
Создаёт виджет ввода типа checkbox.
Параметры:
-
value- значение checkbox -
checked- boolean, указывает, что checkbox выбран. -
hiddenField- boolean, указывает, нужно ли включать скрытый input с значением ''. -
disabled- создать отключённый input. -
default- Установить значение по умолчанию для checkbox. Это позволяет по умолчанию устанавливать checkboxes как выбранные, без необходимости проверки данных POST. Соответствующее значение в POST перезапишет значение по умолчанию.
Параметры
- строка
$fieldName - Имя поля, например "modelname.fieldname"
- массив
$optionsнеобязательно [] - Массив HTML атрибутов.
Возвращаемое значение
string|arrayЭлемент HTML input типа текст.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-checkboxescontextsource public
context( Cake\View\Form\ContextInterface|null $context null )
Получить экземпляр контекста для текущей формы.
Если активной формы нет, вернётся null.
Параметры
-
Cake\View\Form\ContextInterface|null$contextнеобязательно null - Новый контекст при установке, или null для получения.
Возвращаемое значение
null|Cake\View\Form\ContextInterfaceКонтекст формы.
createsource public
create( mixed $model null , array $options [] )
Возвращает элемент HTML FORM.
Параметры:
-
typeМетод формы по умолчанию определяется автоматически на основе контекста формы. Если метод isCreate() контекста формы возвращает false, будет выполнен запрос PUT. -
actionДействие контроллера, к которому отправляется форма (необязательно). Используйте этот параметр, если не нужно изменять контроллер по сравнению с текущим. -
urlURL, к которому отправляется форма. Может быть строкой или массивом URL. Если используется 'url', 'action' следует оставить неопределённым. -
encodingУстановка кодировки accept-charset для формы. По умолчаниюConfigure::read('App.encoding') -
templatesШаблоны, которые нужно использовать для этой формы. Любые шаблоны будут слиты поверх уже загруженных шаблонов. Этот параметр может быть либо именем файла в /config, содержащим шаблоны для загрузки, либо массивом шаблонов для использования. -
contextДополнительные параметры для класса контекста. Например, EntityContext принимает параметр 'table', который позволяет задать конкретный класс таблицы, на основе которого должна создаваться форма. -
idPrefixПрефикс для сгенерированных атрибутов ID.
Параметры
- смешанный
$modelнеобязательно null - Контекст, для которого определяется форма. Может быть сущностью ORM, набором результатов ORM или массивом метаданных. Можно использовать false или null для создания формы без модели.
- массив
$optionsнеобязательно [] - Массив HTML атрибутов и параметров.
Возвращаемое значение
stringОткрывающий тег FORM в формате.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#Cake\View\Helper\FormHelper::createdatesource public
date( string $fieldName , array $options [] )
Генерирует поля ввода даты.
Параметры:
См. dateTime() для параметров даты.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Массив параметров
Возвращаемое значение
stringСгенерированный набор элементов select для форматов времени.
См. также
Cake\View\Helper\FormHelper::dateTime() для параметров шаблона.dateTimesource public
dateTime( string $fieldName , array $options [] )
Возвращает набор элементов SELECT для полной даты и времени: день, месяц и год, затем время.
Параметры даты:
-
empty- Если true, пустой элемент select отображается. Если строка, эта строка отображается как пустой элемент. -
value|defaultЗначение по умолчанию для поля ввода. Значение в$this->data, соответствующее имени поля, переопределяет это значение. Если значение по умолчанию не задано, используетсяtime(). -
monthNamesЕсли false, будут использоваться 2-значные числа вместо текста. Если массив, используется предоставленный массив. -
minYearНаименьший год для использования в списке выбора года. -
maxYearМаксимальный год для использования в списке выбора года. -
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необязательно [] - Массив параметров
Возвращаемое значение
stringСгенерированный набор элементов select для форматов даты и времени.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-date-and-time-inputsdaysource public
day( string $fieldName null , array $options [] )
Возвращает элемент SELECT для дней.
Параметры:
-
empty- Если true, пустой элемент select отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение поля ввода.
Параметры
- строка
$fieldNameнеобязательно null - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Параметры и HTML атрибуты для элемента select
Возвращаемое значение
stringСгенерированный выпадающий список дней.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-day-inputsendsource public
end( array $secureAttributes [] )
Закрывает форму HTML, очищает значения, установленные FormHelper::create(), и записывает скрытые поля ввода, если необходимо.
Параметры
- массив
$secureAttributesнеобязательно [] - Безопасные атрибуты, которые будут переданы в качестве HTML атрибутов в скрытые элементы input, сгенерированные для компонента Security.
Возвращаемое значение
stringЗакрывающее тег FORM.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#closing-the-formerrorsource public
error( string $field , string|array $text null , array $options [] )
Возвращает отформатированное сообщение об ошибке для заданного поля формы, '' если ошибок нет.
Использует шаблоны error, errorList и errorItem. Шаблоны errorList и errorItem используются для форматирования нескольких сообщений об ошибках на поле.
Параметры:
-
escapeboolean - Нужно ли экранировать содержимое ошибки.
Параметры
- строка
$field - Имя поля, например "modelname.fieldname"
- строка|массив
$textнеобязательно null - Сообщение об ошибке в виде строки или массива сообщений. Если массив, он должен быть словарем, где ключи - имена, а значения - сообщения.
- массив
$optionsнеобязательно [] - См. выше.
Возвращаемое значение
stringОтформатированные ошибки или ''.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#displaying-and-checking-errorsfieldsetsource public
fieldset( string $fields '' , array $options [] )
Оборачивает набор элементов ввода в поле fieldset
Параметры
- строка
$fieldsнеобязательно '' - элементы формы, которые нужно обернуть в fieldset
- массив
$optionsнеобязательно [] - Массив опций. Допустимые ключи: -
fieldsetУстановите в false, чтобы отключить fieldset. Также можно передать массив параметров, которые будут применены в качестве атрибутов тега fieldset. Если передать пустой массив, fieldset будет включен -legendУстановите в false, чтобы отключить легенду для набора сгенерированных элементов ввода. Или укажите строку, чтобы настроить текст легенды.
Возвращает
stringЗавершенные элементы формы.
filesource public
file( string $fieldName , array $options [] )
Создаёт элемент ввода файла.
Параметры
- строка
$fieldName - Имя поля в формате "modelname.fieldname"
- массив
$optionsнеобязательно [] - Массив HTML-атрибутов.
Возвращает
stringСгенерированный элемент ввода файла.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-file-inputshiddensource public
hidden( string $fieldName , array $options [] )
Создаёт скрытое поле ввода.
Параметры
- строка
$fieldName - Имя поля в формате "modelname.fieldname"
- массив
$optionsнеобязательно [] - Массив HTML-атрибутов.
Возвращает
stringСгенерированное скрытое поле ввода.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-hidden-inputshoursource public
hour( string $fieldName , array $options [] )
Возвращает элемент SELECT для часов.
Атрибуты:
-
empty- Если true, пустой элемент выбора отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение элемента ввода. -
formatУстановите в 12 или 24 для использования 12-часового или 24-часового формата. По умолчанию 24.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Список HTML-атрибутов
Возвращает
stringЗавершенный элемент выбора часов.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-hour-inputsimplementedEventssource public
implementedEvents( )
Обработчики событий.
Возвращает
arrayмассив
Переопределяет
Cake\View\Helper::implementedEvents() inputsource public
input( 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, содержащим шаблоны, которые нужно загрузить, или массивом шаблонов для использования.
Параметры
- строка
$fieldName - Должно быть "modelname.fieldname"
- массив
$optionsнеобязательно [] - Каждый тип ввода принимает разные опции.
Возвращает
stringЗавершенный виджет формы.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-form-inputsinputssource public
inputs( array $fields , array $options [] )
Генерирует набор элементов ввода для $fields, обернутых в элемент fieldset.
Вы можете настроить отдельные элементы ввода через $fields.
$this->Form->inputs([ 'name' => ['label' => 'custom label'], 'email' ]);
Параметры
- массив
$fields - Массив полей для генерации. Этот массив позволяет устанавливать пользовательские типы, метки или другие опции.
- массив
$optionsнеобязательно [] - Массив опций. Допустимые ключи: -
fieldsetУстановите в false, чтобы отключить fieldset. Также можно передать массив параметров, которые будут применены в качестве атрибутов тега fieldset. Если передать пустой массив, fieldset будет включен -legendУстановите в false, чтобы отключить легенду для набора сгенерированных элементов ввода. Или укажите строку, чтобы настроить текст легенды.
Возвращает
stringЗавершенные элементы формы.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#generating-entire-formsisFieldErrorsource public
isFieldError( string $field )
Возвращает true, если для заданного поля есть ошибка, в противном случае false
Параметры
- строка
$field - Должно быть "modelname.fieldname"
Возвращает
booleanЕсли есть ошибки, этот метод возвращает true, иначе false.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#displaying-and-checking-errorslabelsource public
label( string $fieldName , string $text null , array $options [] )
Возвращает отформатированный элемент LABEL для HTML-форм.
Автоматически сгенерирует атрибут for , если он не задан.
Опции
-
for- Установите атрибут for, если он не определён, атрибут for будет сгенерирован из параметра $fieldName с помощью FormHelper::_domId().
Примеры:
Текст и атрибут for генерируются из fieldname
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 - Должно быть "modelname.fieldname"
- строка
$textнеобязательно null - Текст, который будет отображаться в поле метки. Если $text не определён, текст будет получен из fieldName.
- массив
$optionsнеобязательно [] - Массив HTML-атрибутов.
Возвращает
stringОтформатированный элемент LABEL.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-labelsmeridiansource public
meridian( string $fieldName , array $options [] )
Возвращает элемент SELECT для AM или PM.
Атрибуты:
-
empty— Если true, пустой элемент select отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Массив опций
Возвращаемое значение
stringЗаполненный элемент ввода select для меридиана
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-meridian-inputsminutesource public
minute( string $fieldName , array $options [] )
Возвращает элемент SELECT для минут.
Атрибуты:
-
empty— Если true, пустой элемент select отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение ввода. -
intervalИнтервал, с которым должны создаваться варианты минут. -
roundКак вы хотите округлить значение, если оно не попадает точно в интервал. Принимает 'up', 'down' и null.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Массив опций.
Возвращаемое значение
stringЗаполненный элемент ввода select для минут.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-minute-inputsmonthsource public
month( string $fieldName , array $options [] )
Возвращает элемент SELECT для месяцев.
Опции:
-
monthNames— Если false, будут использоваться 2-значные числа вместо текста. Если массив, будет использоваться заданный массив. -
empty— Если true, пустой элемент select отображается. Если строка, эта строка отображается как пустой элемент. -
valueВыбранное значение ввода.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Атрибуты для элемента select
Возвращаемое значение
stringСгенерированный выпадающий список выбора месяца.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-month-inputsmultiCheckboxsource public
multiCheckbox( string $fieldName , array|Traversable $options , array $attributes [] )
Создаёт набор чекбоксов из опций.
Опции
-
escape— Если true, содержимое опций будет закодировано в HTML-сущности. По умолчанию true. -
valВыбранное значение ввода. -
class— При использовании multiple=checkbox имя класса, которое следует применять к div. По умолчанию 'checkbox'. -
disabled— Управляет атрибутом disabled. При создании чекбоксов,trueотключит все чекбоксы. Вы также можете установить disabled в список значений, которые вы хотите отключить при создании чекбоксов. -
hiddenField— Установите в false, чтобы удалить скрытое поле, гарантирующее, что значение всегда отправляется.
Может использоваться вместо поля select с атрибутом multiple.
Параметры
- строка
$fieldName - Атрибут name элемента SELECT
- массив/перечислимый объект
$options - Массив элементов OPTION (в виде пар 'value'=>'Текст') для использования в элементе checkboxes.
- массив
$attributesнеобязательно [] - HTML атрибуты элемента select.
Возвращаемое значение
stringОтформатированный элемент SELECT
См. также
\Cake\View\Helper\FormHelper::select() для поддерживаемых форматов опций.postButtonsource public
postButton( string $title , string|array $url , array $options [] )
Создаёт тег <button> с окружающим тегом <form> для отправки через POST.
Этот метод создаёт элемент <form>. Поэтому не используйте этот метод в уже открытой форме. Вместо этого используйте FormHelper::submit() или FormHelper::button() для создания кнопок внутри открытых форм.
Опции:
-
data— Массив с ключом/значением для передачи в скрытое поле ввода - Другие опции такие же, как у метода button.
Параметры
- строка
$title - Текст кнопки. Не кодируется автоматически в HTML.
- строка/массив
$url - URL как строка или массив
- массив
$optionsнеобязательно [] - Массив опций и HTML атрибутов.
Возвращаемое значение
stringHTML тег кнопки.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-standalone-buttons-and-post-linkspostLinksource public
postLink( string $title , string|array $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 - Содержимое, которое будет обернуто тегами <a>.
- строка/массив
$urlнеобязательно null - URL с относительным адресом относительно Cake или массив параметров URL, или внешний URL (начинается с http://)
- массив
$optionsнеобязательно [] - Массив HTML атрибутов.
Возвращаемое значение
stringЭлемент
<a />Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-standalone-buttons-and-post-linksradiosource public
radio( string $fieldName , array|Traversable $options [] , array $attributes [] )
Создаёт набор радио-элементов.
Атрибуты:
-
value— Указывает значение, когда этот радио-кнопка выбрана. -
label— boolean, указывающий, должны ли отображаться метки для виджетов. -
hiddenField— boolean, указывающий, нужно ли добавлять скрытое поле с значением '' в результаты radio(). Это полезно для создания наборов радио-кнопок, которые не являются непрерывными. -
disabled— Установите вtrueилиdisabled, чтобы отключить все радио-кнопки. -
empty— Установите вtrueдля создания ввода со значением '' в качестве первого варианта. Когдаtrueметка радио-кнопки будет 'пустая'. Установите эту опцию в строку для управления значением метки.
Параметры
- строка
$fieldName - Имя поля, например "modelname.fieldname"
- массив/перечислимый объект
$optionsнеобязательно [] - Массив опций радио-кнопок.
- массив
$attributesнеобязательно [] - Массив атрибутов.
Возвращаемое значение
stringЗаполненный набор радио-виджетов.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-radio-buttonsresetTemplatessource public
resetTemplates( )
Восстанавливает значения по умолчанию, встроенные в FormHelper.
Этот метод не сбросит шаблоны, установленные в пользовательских виджетах.
securesource public
secure( array $fields [] , array $secureAttributes [] )
Генерирует скрытое поле с хэш-кодом безопасности, основанным на полях, используемых в форме.
Если задан $secureAttributes, эти атрибуты HTML будут объединены с скрытыми тегами ввода, сгенерированными для компонента Security. Это особенно полезно для установки атрибутов HTML5, таких как 'form'.
Параметры
- массив
$fieldsнеобязательно [] - Если задано, определяет список полей, которые следует использовать при генерации хэш-кода, в противном случае используется $this->fields.
- массив
$secureAttributesнеобязательно [] - будет передан в качестве атрибутов HTML в скрытые элементы ввода, сгенерированные для компонента Security.
Возвращаемое значение
string|nullСкрытое поле ввода с хэш-кодом безопасности
selectsource public
select( string $fieldName , array|Traversable $options [] , array $attributes [] )
Возвращает отформатированный элемент SELECT.
Атрибуты:
-
multiple- отобразить поле множественного выбора. Если установлено в 'checkbox', вместо этого будут созданы несколько флажков. -
empty- Если true, отображается пустой элемент списка выбора. Если строка, эта строка отображается как пустой элемент. -
escape- Если true, содержимое опций будет закодировано как HTML-сущности. По умолчанию true. -
val- Выбранное значение ввода. -
disabled- Управление атрибутом disabled. При создании поля списка выбора, установите в true, чтобы отключить список выбора. Установите в массив, чтобы отключить определенные элементы списка.
Использование опций
Простой массив создаст обычные опции:
$options = [1 => 'one', 2 => 'two']; $this->Form->select('Model.field', $options));
В то время как вложенный массив опций создаст группы опций с опциями внутри них.
$options = [ 1 => 'bill', 'fred' => [ 2 => 'fred', 3 => 'fred jr.' ] ]; $this->Form->select('Model.field', $options);
Если у вас есть несколько опций, которым нужно задать одинаковое значение атрибута value, вы можете использовать массив массивов для этого:
$options = [ ['text' => 'United states', 'value' => 'USA'], ['text' => 'USA', 'value' => 'USA'], ];
Параметры
- строка
$fieldName - Атрибут имени SELECT
- массив|Перечисляемый
$optionsнеобязательно [] - Массив элементов OPTION (в виде пар 'значение'=>'Текст') для использования в элементе SELECT
- массив
$attributesнеобязательно [] - Атрибуты HTML элемента select.
Возвращаемое значение
stringОтформатированный элемент SELECT
См. также
\Cake\View\Helper\FormHelper::multiCheckbox() для создания нескольких флажков.Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-select-pickerssubmitsource public
submit( string $caption null , array $options [] )
Создаёт элемент кнопки отправки. Этот метод сгенерирует <input /> элементы, которые могут использоваться для отправки и сброса форм с помощью $options. Кнопки с изображением можно создать, указав путь к изображению для $caption.
Опции
-
type- Установите в 'reset' для элементов сброса. По умолчанию 'submit' -
templateVars- Дополнительные переменные шаблона для элемента ввода и его контейнера. - Другие атрибуты будут присвоены элементу ввода.
Параметры
- строка
$captionнеобязательно null - Метка, отображаемая на кнопке ИЛИ если строка содержит :// или расширение .jpg, .jpe, .jpeg, .gif, .png, использует изображение, если расширение существует, И первый символ является /, изображение относительно webroot, ИЛИ если первый символ не является /, изображение относительно webroot/img.
- массив
$optionsнеобязательно [] - Массив опций. См. выше.
Возвращаемое значение
stringЭлемент HTML кнопки отправки
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-buttons-and-submit-elementstextareasource public
textarea( string $fieldName , array $options [] )
Создаёт виджет textarea.
Опции:
-
escape- Нужно ли кодировать содержимое textarea. По умолчанию true.
Параметры
- строка
$fieldName - Имя поля в формате "имя_модели.имя_поля"
- массив
$optionsнеобязательно [] - Массив атрибутов HTML и специальных опций, описанных выше.
Возвращаемое значение
stringСгенерированный элемент ввода текста HTML
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-textareastimesource public
time( string $fieldName , array $options [] )
Генерирует поля времени.
Опции:
См. dateTime() для опций времени.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Массив опций
Возвращаемое значение
stringСгенерированный набор полей выбора для форматов времени.
См. также
Cake\View\Helper\FormHelper::dateTime() для опций шаблонизации.unlockFieldsource public
unlockField( string|null $name null )
Добавляет или получает список полей, которые в данный момент разблокированы. Разблокированные поля не включаются в хэш поля, используемый SecurityComponent. Разблокировка поля после добавления в список защищенных полей удалит его из списка полей.
Параметры
- строка|null
$nameнеобязательно null - Имя поля с разделителем «точка».
Возвращаемое значение
array|nullЛибо null, либо список полей.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#working-with-securitycomponentwidgetsource public
widget( string $name , array $data [] )
Отобразить виджет с заданным именем.
Это метод более низкого уровня. Для встроенных виджетов вы должны использовать методы, такие как text, hidden, и radio. Если вы используете дополнительные виджеты, вы должны использовать этот метод для отображения виджета без метки или обертывающей div.
Параметры
- строка
$name - Имя виджета. Например, 'text'.
- массив
$dataнеобязательно [] - Данные для отображения.
Возвращаемое значение
stringстрока
widgetRegistrysource public
widgetRegistry( Cake\View\Widget\WidgetRegistry $instance null , array $widgets [] )
Установить реестр виджетов, который будет использовать помощник.
Параметры
-
Cake\View\Widget\WidgetRegistry$instanceнеобязательно null - Экземпляр реестра для установки.
- массив
$widgetsнеобязательно [] - Массив виджетов
Возвращаемое значение
Cake\View\Widget\WidgetRegistry\Cake\View\Widget\WidgetRegistry
yearsource public
year( string $fieldName , array $options [] )
Возвращает элемент SELECT для годов
Атрибуты:
-
empty- Если true, отображается пустой элемент списка выбора. Если строка, эта строка отображается как пустой элемент. -
orderYear- Порядок значений года в элементах списка выбора. Возможные значения 'asc', 'desc'. По умолчанию 'desc' -
value- Выбранное значение ввода. -
maxYear- Максимальный год, который должен отображаться в элементе списка выбора. -
minYear- Минимальный год, который должен отображаться в элементе списка выбора.
Параметры
- строка
$fieldName - Префикс имени для элемента SELECT
- массив
$optionsнеобязательно [] - Опции и атрибуты для элементов select.
Возвращаемое значение
stringЗавершенный элемент ввода года.
Ссылка
http://book.cakephp.org/3.0/ru/views/helpers/form.html#creating-year-inputsНаследуемые методы из Cake\View\Helper
__debugInfosource public
__debugInfo( )
Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.
Возвращаемое значение
arrayмассив
__getsource public
__get( string $name )
Ленично загружает помощники.
Параметры
- string
$name - Имя свойства, к которому осуществляется доступ.
Возвращает
Cake\View\Helper|nullЭкземпляр помощника, если помощник с заданным именем существует
_confirmsource protected
_confirm( string $message , string $okCode , string $cancelCode '' , array $options [] )
Возвращает строку, используемую в качестве обработчика onclick для диалоговых окон подтверждения.
Параметры
- string
$message - Сообщение, которое будет отображено
- string
$okCode - Код, который будет выполнен после выбора пользователем «ОК»
- string
$cancelCodeoptional '' - Код, который будет выполнен после выбора пользователем «Отмена»
- array
$optionsoptional [] - Массив параметров
Возвращает
stringJS-код onclick
addClasssource public
addClass( array $options [] , string $class null , string $key 'class' )
Добавляет заданный класс к параметрам элемента.
Параметры
- array
$optionsoptional [] - Массив параметров/атрибутов для добавления класса
- string
$classoptional null - Имя класса, который добавляется.
- string
$keyoptional 'class' - ключ для использования класса.
Возвращает
arrayМассив параметров с заданным $key.
Методы, используемые из Cake\View\Helper\IdGeneratorTrait
_domIdsource protected
_domId( string $value )
Создаёт идентификатор, подходящий для использования в атрибуте ID.
Параметры
- string
$value - Значение, которое необходимо преобразовать в идентификатор.
Возвращает
stringСгенерированный идентификатор.
_idsource protected
_id( string $name , string $val )
Генерирует атрибут ID для элемента.
Обеспечивает уникальность идентификаторов для набора полей.
Параметры
- string
$name - Имя атрибута ID.
- string
$val - Значение атрибута ID.
Возвращает
stringСгенерированный идентификатор.
Методы, используемые из Cake\View\Helper\SecureFieldTokenTrait
_buildFieldTokensource protected
_buildFieldToken( string $url , array $fields , array $unlockedFields [] )
Генерирует данные токена для указанных входных данных.
Параметры
- string
$url - URL, на который отправляется форма.
- array
$fields - Если установлено, указывает список полей, используемых при генерации хеша.
- array
$unlockedFieldsoptional [] - Список полей, исключённых из проверки валидности полей.
Возвращает
arrayДанные токена.
Методы, используемые из Cake\View\StringTemplateTrait
formatTemplatesource public
formatTemplate( string $name , array $data )
Форматирует строку шаблона с данными $data
Параметры
- string
$name - Имя шаблона.
- array
$data - Данные для вставки.
Возвращает
stringстрока
templatersource public
templater( )
templater
Возвращает
Cake\View\StringTemplate\Cake\View\StringTemplate
templatessource public
templates( string|null|array $templates null )
Получить/установить используемые шаблоны.
Параметры
- string|null|array
$templatesoptional null - null или строка для чтения шаблонов. Массив позволяет добавлять шаблоны.
Возвращает
mixed$this|строка|массив
Методы, используемые из Cake\Core\InstanceConfigTrait
_configDeletesource protected
_configDelete( string $key )
Удалить единственный ключ конфигурации
Параметры
- string
$key - Ключ для удаления.
Выбрасывает
Cake\Core\Exception\Exceptionесли пытаетесь заменить существующую конфигурацию
_configReadsource protected
_configRead( string|null $key )
Прочитать переменную конфигурации
Параметры
- string|null
$key - Ключ для чтения.
Возвращает
mixedсмешанный тип
_configWritesource protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )
Записать переменную конфигурации
Параметры
- string|array
$key - Ключ для записи.
- mixed
$value - Значение для записи.
- boolean|string
$mergeoptional false - True для рекурсивного слияния, 'shallow' для простого слияния, false для перезаписи, по умолчанию false.
Выбрасывает
Cake\Core\Exception\Exceptionесли пытаетесь заменить существующую конфигурацию
configsource 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']);
Параметры
- string|array|null
$keyoptional null - Ключ для получения/установки или полный массив конфигураций.
- mixed|null
$valueoptional null - Значение для установки.
- boolean
$mergeoptional true - Выполнять рекурсивное слияние или перезапись существующей конфигурации, по умолчанию true.
Возвращает
mixedЗначение конфигурации для чтения или сам объект при операциях записи.
Выбрасывает
Cake\Core\Exception\ExceptionПри попытке установить недействительный ключ.
configShallowsource public
configShallow( string|array $key , mixed|null $value null )
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от config(), которая выполняет рекурсивное слияние вложенных ключей, этот метод выполняет простое слияние.
Установка определённого значения:
$this->config('key', $value);
Установка вложенного значения:
$this->config('some.nested.key', $value);
Обновление нескольких параметров конфигурации одновременно:
$this->config(['one' => 'value', 'another' => 'value']);
Параметры
- string|array
$key - Ключ для установки или полный массив конфигураций.
- mixed|null
$valueoptional null - Значение для установки.
Возвращает
mixedСам объект $this.
Резюме констант
string | SECURE_SKIP Константа, используемая во внутренней работе для пропуска процесса защиты и не добавления поля в хеш или в поля без защиты. | 'skip' |
Резюме свойств
Свойства, унаследованные от Cake\View\Helper
$_helperMapsource
protected array
Таблица поиска помощников, используемая для отложенной загрузки объектов помощников.
[]
$fieldsetsource
public array
Содержит поля ['field_name' => ['type' => 'string', 'length' => 100]], primaryKey и validates ['field_name']
[]
Свойства, используемые из Cake\Core\InstanceConfigTrait
$_configInitializedsource
protected boolean
Указывает, была ли конфигурация свойства уже настроена со значениями по умолчанию
false Свойства, используемые из Cake\View\Helper\IdGeneratorTrait
Сводка свойств из Cake\View\StringTemplateTrait
Сводка магических свойств
$Htmlsource
public Cake\View\Helper\HtmlHelper
$Urlsource
public Cake\View\Helper\UrlHelper
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.View.Helper.FormHelper.html