Forms 如何理解自定义细枝表单模板中每个输入可用的变量
我明白 但我不完全理解每个块中有哪些变量可用。我已经研究了,但是每个块中可用变量的范围对我来说还不明显 例如,我遵循了。但是如果星号是一个隐藏的字段,我就不想要它(很明显……但是教程没有提到这一部分)。我被告知隐藏字段永远都不是必需的,但我的隐藏字段必需值正在计算true 我的隐藏字段是这样定义的:Forms 如何理解自定义细枝表单模板中每个输入可用的变量,forms,symfony,twig,Forms,Symfony,Twig,我明白 但我不完全理解每个块中有哪些变量可用。我已经研究了,但是每个块中可用变量的范围对我来说还不明显 例如,我遵循了。但是如果星号是一个隐藏的字段,我就不想要它(很明显……但是教程没有提到这一部分)。我被告知隐藏字段永远都不是必需的,但我的隐藏字段必需值正在计算true 我的隐藏字段是这样定义的: ->add('timePublish', 'hidden', array( 'required' => false )) 这仍然会在HTML中呈现: <span clas
->add('timePublish', 'hidden', array(
'required' => false
))
这仍然会在HTML中呈现:
<span class="required" title="This field is Required">*</span>
<div id="view_version">
<input type="hidden" id="view_version_timePublish" name="view[version][timePublish]" class="form-control">
</div>
很遗憾,类型
不可用,并引发错误:
Variable "type" does not exist in GutensiteCmsBundle:Form:fields.html.twig
我尝试了其他变体,如form.type
,form.vars.type
,form.attr.type
,form.vars.attr.type
,和attr.type
,但这些都不起作用
除了帮助我理解这一变量名外,有人能参考这些变量的全面文档(或者总结一下自己如何理解它),并帮助我理解如何转储这些数据以便将来自己调试吗
更新
隐藏的输入字段未导致显示所需的星号。相反,它是包含的子表单。我有一个主表单类型form/type/ViewType.php
,它定义了主表单,并包括几个子表单,例如
->add('version', new ViewVersionType(), array(
'label' => false,
'required' => false
))
即使我有'label'=>false
,表单标签仍然呈现星号。我还必须指定'required'=>false
,这样就去掉了星号。这对我来说真的很奇怪,所包含的表单被允许有一个必需的属性(或者至少默认为true)
查找类型
对于symfony2.4,您可以访问如下类型:
{{form.vars.block_prefixes.1}
。这将显示“text”、“choice”等()
关于您关于变量的问题(来自:
…这些变量由表单呈现系统提供。但更重要的是,这些变量可以在调用表单标签时覆盖(因为在本例中,您呈现的是标签)
可覆盖的确切变量取决于您正在呈现的表单的哪一部分(例如标签与小部件)以及您正在呈现的字段(例如选择小部件有一个额外的扩展选项)
在同一个站点上,有一个所有表单类型通用的变量列表(例如,id
,name
,error
,…)
但要正确确定当前细枝上下文中的所有可用变量,您可以使用“发布”中的答案
{% for key, value in _context %}
{{ key }}
{% endfor %}
然而,奇怪的是,它在隐藏字段之前的一个跨度中设置了*这表明
required不是空的
*
@ChadwickMeyer你如何在你的小树枝中呈现表单字段?很抱歉回复太慢了!我因为付费工作而严重偏离了这个项目。所以我循环了\u context
,顺便问一下,你在哪里你知道\u context
是一个可用的变量?(需要学习的内容太多,没有明确的学习方法…)无论如何,我看到了所有的变量,并且必需的
是可用的。但是当我这样做时{%if required is not empty%}
星号仍然显示在隐藏字段上(请参阅问题的更新)回到原来的问题:我如何检查输入的类型,例如“text”、“hidden”、“select”等。对于记录,所需的星号不是来自隐藏的输入,而是来自包含的子表单…它显然呈现标签,即使标签=>false。我必须指定required=>false,例如->add('version',new ViewVersionType(),数组('label'=>false,'required'=>false))
{% for key, value in _context %}
{{ key }}
{% endfor %}