Поле ButtonType

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

Поле ButtonType

Проста кнопка, що не реагує на натискання.

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

Дата оновлення перекладу 2022-12-21

Tip

Повний список опцій, визначених та успадкованих цим типом форми, доступний шляхом виконання цієї команди у вашому додатку:

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

Успадковані опції

Наступні опції визначаються у класі BaseType. Клас BaseType є батьківським класом як для типу button, так і для FormType, але він не є частиною дерева типів форм (тобто його не можна використовувати як тип форми самостійно).

attr

тип: array за замовчуванням: []

Якщо ви хочете додати додаткові атрибути до HTML-представлення кнопки, ви можете скористатися опцією attr. Це асоціативний масив з атрибутом HTML в якості ключа. Це може бути корисно, коли вам потрібно задати для кнопки користувацький клас:

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

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

disabled

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

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

Дата оновлення перекладу 2024-05-29

label

тип: string або TranslatableMessage за замовчуванням: Ярлик "вгадується" з імені поля

Дозволяє задати ярлик, який буде відображатися на кнопці. Ярлик також можна встановити безпосередньо всередині шаблону:

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

Дата оновлення перекладу 2024-05-29

label_html

тип: boolean за замовчуванням: false

За замовчуванням, зміст опції label екранується перед відображенням у шаблоні. Встановіть для цієї опції значення true, щоб не екранувати її, що може бути корисно, коли ярлик містить HTML-елементи.

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.

row_attr

type: array default: []

An associative array of the HTML attributes added to the element which is used to render the form type row :

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

See also

Use the attr option if you want to add these attributes to the form type widget element.