我根据documentation创建了自定义表单字段类型,它工作正常(我的意思是没有错误)。我有一节课:
<?php
namespace AppBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
class RangeType extends AbstractType
{
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
));
}
public function getParent()
{
return RangeType::class;
}
}
我有一个树枝模板:
{# app/Resources/views/form/fields.html.twig #}
{% block range_widget %}
<div class="cell-md-12 offset-top-45 offset-md-top-0">
<div data-min="" data-max="6000" data-start="[9, 2999]" data-step="10" data-tooltip="false" data-min-diff="10" data-input=".rd-range-input-value-2" data-input-2=".rd-range-input-value-3" class="rd-range"></div>
<hr class="divider divider-offset-lg divider-gray veil reveal-md-block">
</div>
{% endblock %}
我将其添加到配置中:
# app/config/config.yml
twig:
form_themes:
- 'form/fields.html.twig'
最后我有一个代码将字段添加到表单中:
$builder->add('price', RangeType::class, [
'data' => $options['priceRange'] ? $options['priceRange'] : $options['minPrice'].",".$options['maxPrice'],
'attr'=> [
'data-min' => $options['minPrice'],
'data-max' => $options['maxPrice'],
'data-dimension' => $options['dimension']
]
]);
我如何使用&#34;数据&#34;,&#34; data-min&#34;,&#34; data-max&#34;,&#34; data-dimension&#34;树枝模板中表单构建器的选项?到目前为止,您可以看到模板中的所有内容都是静态的。
答案 0 :(得分:2)
您可以使用以下路径访问'attr'选项值:
form.vars.attr
因此,要获取'data-min'参数值表单示例,您只需要执行以下操作:
{% set attr = form.vars.attr %}
<div data-min="{{ attr['data-min'] }}" ...