Symfony2占位符html

时间:2014-04-28 17:17:39

标签: php html forms symfony twig

我需要你的帮助。我已经构建了一种用户注册形式。我需要在按摩时添加复选框:“接受使用条款”,但“条款”一词必须链接到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>

3 个答案:

答案 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>