Поле ButtonType

Дата обновления перевода 2023-09-25

Поле ButtonType

Простая, неоткликающаяся кнопка.

???????????? ??? ??? button
???????????? ??? ????
????? ButtonType

Дата обновления перевода 2025-02-21

Tip

Полный список опций, определенных и унаследованных этим типом формы, доступен путем
выполнения этой команды в вашем приложении:

1
2
# замените 'FooType' именем класса вашего типа формы
$ php bin/console debug:form FooType

Наследуемые опции

Следующие опции определены в классе BaseType. Класс BaseType - это родительский класс и для типа button, и для FormType, но он не является частью дерева типов формы (т.е. не может быть использован как тип формы сам по себе).

attr

тип: array по умолчанию: array()

Если вы хотите добавить дополнительные атрибуты к HTML-представлению кнопки, то вы можете использовать опцию attr. Это ассоциативный массив с HTML-атрибутом в качестве ключа. Это может быть полезно, когда вам нужно установить для кнопки пользовательский класс:

1
2
3
4
5
6
use Symfony\Component\Form\Extension\Core\Type\ButtonType;
// ...

$builder->add('save', ButtonType::class, array(
    'attr' => array('class' => 'save'),
));

Дата обновления перевода 2025-02-22

disabled

тип: boolean по умолчанию: false

Если вы не хотите, чтобы пользователь мог нажимать на кнопку, вы можете установить опцию отключения, как "true". Отправить форму без этой кнопки будет невозможно, даже путём обхода браузера и отправки запроса вручную, например, с помощью cURL.

Дата обновления перевода 2024-07-26

label

тип: string или TranslatableMessage по умолчанию: Ярлык "угадывается" по имени поля

Устанавливает ярлык, который будет отображён на кнопке. Ярлык также может быть установлен напрямую внутри шаблона:

1
{{ form_widget(form.save, { 'label': 'Click me' }) }}

Дата обновления перевода 2025-02-24

label_html

тип: boolean по умолчанию: false

По умолчанию, содержание опции label экранируется перед отображением в шаблоне. Установите для этой опции значение true, чтобы не экранировать ее, что может быть полезно, когда ярлык содержит HTML-элементы.

Дата обновления перевода 2025-02-22

translation_domain

тип: string по умолчанию: messages

Это домен перевода, который будет использован для любых ярлыков или опций, которые отображаются для этой кнопки.

label_translation_parameters

тип: array по умолчанию: []

Содержимое опции label переводится перед отображением, поэтому оно может содержать заполнители перевода. Эта опция определяет значения, используемые для замены этих заполнителей.

Учитывая это сообщение перевода:

1
2
# translations/messages.en.yaml
form.order.submit_to_company: 'Send an order to %company%'

Вы можете указать значения заполнителей следующим образом:

1
2
3
4
5
6
7
8
9
use Symfony\Component\Form\Extension\Core\Type\ButtonType;
// ...

$builder->add('send', ButtonType::class, [
    'label' => 'form.order.submit_to_company',
    'label_translation_parameters' => [
        '%company%' => 'ACME Inc.',
    ],
]);

Опция label_translation_parameters кнопок объединена с аналогичной опцией опцией своих родителей, поэтому кнопки могут повторно использовать и/или переопределять любые родительские заполнители.

attr_translation_parameters

type: array default: []

The content of the title and placeholder values defined in the attr option is translated before displaying it, so it can contain translation placeholders. This option defines the values used to replace those placeholders.

Given this translation message:

1
2
3
# translations/messages.en.yaml
form.order.id.placeholder: 'Enter unique identifier of the order to %company%'
form.order.id.title: 'This will be the reference in communications with %company%'

You can specify the placeholder values as follows:

1
2
3
4
5
6
7
8
9
$builder->add('id', null, [
    'attr' => [
        'placeholder' => 'form.order.id.placeholder',
        'title' => 'form.order.id.title',
    ],
    'attr_translation_parameters' => [
        '%company%' => 'ACME Inc.',
    ],
]);

The attr_translation_parameters option of children fields is merged with the same option of their parents, so children can reuse and/or override any of the parent placeholders.

Дата обновления перевода 2025-02-24

row_attr

тип: array по умолчанию: []

Ассоциативный массив атрибутов HTML, добавляемых к элементу, который используется для отображения строки типа формы :

1
2
3
$builder->add('body', TextareaType::class, [
    'row_attr' => ['class' => 'text-editor', 'id' => '...'],
]);

See also

Используйте опцию attr, если вы хотите добавить эти атрибуты к к элементу виджета типа формы .