使用预处理从表单中删除默认CSS类

时间:2019-06-28 07:26:13

标签: drupal drupal-8

我有一个自定义的Form API,我正在尝试将其呈现在my-form-form.html.twig文件中。当我打印出字段fe。 {{form.name}}仍具有来自基本主题的默认CSS。

如何使用mymodule_form_alter或hook_preprocess从所有elementslabelsinputs等中删除这些类?

1 个答案:

答案 0 :(得分:1)

您是对的,您可以在模块中使用钩子形式alter:

// remove html class from form item
function your_module_form_alter(&$form, &$form_state, $form_id) {
  switch ($form_id) {
    case 'form_id':
      $classes = &$form['actions']['item_name']['#attributes']['class'];
      $classes = array_filter($classes , function($e){
        return $e != 'class_to_remove';
      });
    break;
  }   
}

我不知道这里的答案是否有效,但是我在drupal.org https://www.drupal.org/forum/support/module-development-and-code-questions/2017-11-13/drupal-8-how-to-remove-class-of-form

上找到了这个答案。

这里也有drupal.stackexchange.com,也欢迎您。