我需要你的帮助。我已经构建了一种用户注册形式。我需要在按摩时添加复选框:“接受使用条款”,但“条款”一词必须链接到pdf文件。当然我不能将html标签放入翻译文件中,因为它不起作用。我可以在树枝模板中使用'raw'关键字。但我不想这样做。我正在考虑占位符来做到这一点。但我现在不知道如何让它成为一个阶级。你知道怎么做吗?
class SupplierAddressFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
parent::buildForm($builder, $options);
$builder->add('roules_acceptance', 'checkbox', array('label' => 'form.roules_acceptance', 'mapped' => false));
// ....
}
}
标签的例子我需要做什么:
Accept the <a href="url_to_pdf">terms</a>
答案 0 :(得分:1)
通过占位符,你在谈论HTML吗?您可以使用attr
选项将任何html标记放在任何表单类型中。
例如:
$builder->add('field', 'text', array('attr' => array('foo' => 'bar')));
将生成:
<input type="text" foo="bar" />
希望,这是你正在寻找的东西!
编辑:
你的问题是关于模板,所以我建议你玩表格主题。例如,您有一个名为user_form
的表单和一个名为field
的字段,然后使用名为user_form_field_label
的块创建一个twig模板,并在此块中放置您想要的html。然后,只需使用form_theme
twig原语在您的特定表单上应用您的主题。
所有内容都被解释为here。
答案 1 :(得分:0)
我的方法不是将html放在标签中,而是使用“普通”标签,例如“术语”。 我将在树枝模板中设置的链接,例如
Accept the <a href="url-to-pdf"> {{ form_label(your-form-item) }} </a>
希望有所帮助。
答案 2 :(得分:0)
感谢您的帮助。
最后我通过使用twig模板解决了它。最后我通过使用twig模板解决了它。我的例子解释了一切:
<div>
{{ form_widget(form.sfGuardUserProfile.roulesAcceptance) }}
{{ 'form.roules_acceptance'| trans | raw }} {# <---- my answer #}
{{ form_errors(form.sfGuardUserProfile.roulesAcceptance) }}
</div>
<div>
{{ form_widget(form.sfGuardUserProfile.allowToUsePersonalData) }}
{{ form_label(form.sfGuardUserProfile.allowToUsePersonalData) }}
{{ form_errors(form.sfGuardUserProfile.allowToUsePersonalData) }}
</div>