如何呈现特定的表单元素Drupal 8

时间:2018-02-26 21:36:43

标签: drupal twig drupal-8 drupal-theming

我正在使用Drupal 8,并希望自定义表单元素的显示方式。具体来说,我不喜欢不可编辑,填充的文本字段显示为纯文本。我希望它显示为可编辑的文本字段(或者文本看起来像是在一个不可编辑的文本字段中)。我已经查看了各种钩子函数来尝试实现这一点,但似乎没有任何工作。

我认为最好的解决方法是,如果我可以自己单独渲染表单字段,然后创建一个twig文件,显示各个字段,就像我希望它们显示一样。以下是我想要的枝条字段:

<div class="from">
  {{ form.mail }}
</div>

<div class="message">
  {{ form.message }}
</div>

<div class="actions">
  {{ form.actions }}
</div>

1 个答案:

答案 0 :(得分:1)

在.module文件中

public function buildForm(array $form, FormStateInterface $form_state) {
    $form = parent::buildForm($form, $form_state);
    [...your fields ...]
    return $form
}

在CustomForm.php文件中

{{ form.your_field }}

在自定义模块模板目录中

定制theme.html.twig

<!DOCTYPE html>
<html>
    <head>
        <title>Page Title</title>
    </head>
    <body>
        <svg id="Layer_1"></svg>
    </body>
</html>