gpt4 book ai didi

Twig:删除表单每个复选框字段周围的 div

转载 作者:行者123 更新时间:2023-12-04 17:58:09 24 4
gpt4 key购买 nike

编辑:查看我在问题末尾找到的解决方案 ;-)

我几个小时以来一直在寻找解决方案,但我并没有真正找到我喜欢的。我相信这很容易做到。

我正在使用 Symfony 3.1 构建一个表单。我的表单不会在数据库中发送任何内容。一切似乎都还好。但是在渲染我的 Twig 模板时,我所有的复选框都被 <div> 包围着。标签。

我只是希望 twig 为我呈现一个没有它的表单 <div>标签。编辑:这就是 Twig 呈现给我的内容:这对我来说没问题,但我想删除 div 标签

<form name="form" method="post">
<div id="form"><div><label for="form_1">1</label><input type="checkbox" id="form_1" name="form[1]" class="ballsCheckBox" value="1" /></div>
</form>

这是我的 Twig 模板:

{% extends "::base.html.twig" %}

{% block title %}SimulotoBundle:Lotto:lotto{% endblock %}

{% block body %}
<h1>Welcome to the Lotto:result page</h1>
{{form(form)}}

{% endblock %}

我直接在 Controller 中构建表单。看见: 公共(public)函数 LottoSimulationFormAction()

   {
$lt = new LottoSimulation();

$data = [];

$formBuilder = $this->createFormBuilder($data);

/** building Lotto grid with checkboxes * */
for ($i = 1; $i <= $lt->getMaxNb(); $i++)
{
$formBuilder->add($i, CheckboxType::class, [
'label' => $i,
'required' => false,
'attr' => [
'class' => 'ballsCheckBox'
]
]);
}

/** adding submit button **/
$formBuilder->add('Envoyer', SubmitType::class, [
'attr' => [
'class' => 'save'
]
]);

$form = $formBuilder->getForm();

return $this->render("SimulotoBundle:Lotto:lotto.html.twig", [
"form" => $form->createview()
]);
}
}

最佳答案

这是解决这个问题的方法。

我需要自定义表单呈现,因为它在本页的 Synfony cookBook 中有解释http://symfony.com/doc/current/form/form_customization.html

转到 vendor\Symfony\Bridge\Twig\Ressources\views\Form\form_div_layout.html 并修改 block :

{%- block form_row -%}
<div>
{{- form_label(form) -}}
{{- form_errors(form) -}}
{{- form_widget(form) -}}
</div>
{%- endblock form_row -%}

您可以删除它,但更好的方法是将该 block 复制/粘贴到您的模板并覆盖它。像这样:

{% extends "::base.html.twig" %}

{% form_theme form _self %} //don't forget this line of code

{%- block form_row -%}
{{- form_label(form) -}}
{{- form_errors(form) -}}
{{- form_widget(form) -}}
{%- endblock form_row -%}

关于Twig:删除表单每个复选框字段周围的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38663733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com