我在我的Drupal8站点上有一个联系人表单,我想删除预览按钮,并定制提交按钮的html。
我在我的主题中尝试过:
function mytheme_form_contact_message_feedback_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$form['submit']['#prefix'] = '<div class="contact-form-btn col-xs-12 col-md-10 col-md-offset-2 no-pad-left">';
$form['submit']['#suffix'] = '</div>';
$form['submit']['#value'] = 'Submit';
$form['submit']['#title'] = 'Submit';
}
但这似乎既不会改变包装它的html,也不会改变按钮本身的标签。
另外,如果你有任何关于如何删除预览按钮的建议,我将不胜感激!
发布于 2016-06-20 15:26:54
你的代码应该是
function mytheme_form_contact_message_feedback_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$form['actions']['submit']['#prefix'] = '<div class="contact-form-btn col-xs-12 col-md-10 col-md-offset-2 no-pad-left">';
$form['actions']['submit']['#suffix'] = '</div>';
$form['actions']['submit']['#value'] = 'Your value';
}
谢谢
发布于 2016-06-20 02:00:30
我不确定为什么我在上面做的时候它不能工作--因为它适用于表单上的所有其他字段,但是here发布的解决方案可以工作。
发布于 2018-08-11 02:22:01
只是为了阐明我从上面答案中的链接中获得的工作原理。
在我的mytheme.theme文件中,我放入了以下代码,我既可以删除预览按钮,也可以更改提交按钮文本。
function mytheme_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
if (in_array($form_id, ['contact_message_feedback_form', ])) {
$key = ($form_id == 'contact_message_feedback_form') ? 'actions' : 'basic';
$form[$key]['submit']['#value'] = 'My Submit Message';
$form[$key]['preview']['#access'] = FALSE;
}
}
https://stackoverflow.com/questions/37901208
复制相似问题