Forms 如何理解自定义细枝表单模板中每个输入可用的变量

Forms 如何理解自定义细枝表单模板中每个输入可用的变量,forms,symfony,twig,Forms,Symfony,Twig,我明白 但我不完全理解每个块中有哪些变量可用。我已经研究了,但是每个块中可用变量的范围对我来说还不明显 例如,我遵循了。但是如果星号是一个隐藏的字段,我就不想要它(很明显……但是教程没有提到这一部分)。我被告知隐藏字段永远都不是必需的,但我的隐藏字段必需值正在计算true 我的隐藏字段是这样定义的: ->add('timePublish', 'hidden', array( 'required' => false )) 这仍然会在HTML中呈现: <span clas

我明白

但我不完全理解每个块中有哪些变量可用。我已经研究了,但是每个块中可用变量的范围对我来说还不明显

例如,我遵循了。但是如果星号是一个隐藏的字段,我就不想要它(很明显……但是教程没有提到这一部分)。我被告知隐藏字段永远都不是必需的,但我的隐藏字段必需值正在计算true

我的隐藏字段是这样定义的:

->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 %}