Поле 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.