я расширяю EntityForm
class, и я пытаюсь переопределить кнопку отправки, чтобы установить ее атрибут HTML ID (попытка № 1). Так как это не работает, я попытался завернуть кнопку в обертку <div>
. Я пытался обернуть двумя разными способами (попробуйте № 2 и попробуйте № 3), но они не работают.
Единственный способ переопределить кнопку отправки — установить '#атрибуты'
установить атрибут HTML учебный класс
и добавить свой собственный класс CSS, но я хотел установить HTML я бы
атрибут. И я хотел сделать это переопределение в методе действий() (а не в форме()).
используйте Drupal\Core\Entity\ContentEntityForm;
класс MyForm расширяет ContentEntityForm {
действия защищенной функции (массив $form, FormStateInterface $form_state) {
$actions = parent::actions($form, $form_state);
$ действия ['отправить'] = [
'#type' => 'отправить',
'#id' => 'кнопка сохранения', // <-- попытка #1
'#значение' => т('Сохранить'),
'#ajax' => [
'обратный вызов' => '::ajaxCallback',
'событие' => 'нажатие мыши',
'wrapper' => 'bar-wrapper-1', // <-- попробуйте #2
],
'#prefix' => '<div id="bar-wrapper-2">', // <-- попробуйте #3
'#суффикс' => '</div>',
'#атрибуты' => [
'class' => ['foo'], // <-- попробуйте #4
],
];
$actions['submit_wrapper'] = [
'#type' => 'разметка',
'#markup' => '<div id="bar-wrapper-1"></div>'
];
вернуть $действия;
}
}
Я полагаю, что могу переопределить идентификатор HTML только внутри форма()
, но это выглядит немного непоследовательно, потому что я могу переопределить/добавить класс CSS.