php - 如何通过 FormBuilder 的字段传递 Twig 参数

标签 php forms symfony twig

我已经在 documentation 中实现了表单中的帮助消息

{% extends 'form_div_layout.html.twig' %}

{% block field_widget %}
    {{ parent() }}
    {% if help is defined %}
        <span class="help">{{ help }}</span>
    {% endif %}
{% endblock %}

为了呈现帮助部分,该示例说明“帮助”应该在 twig 文件中定义为:

{{ form_widget(form.title, {'help': 'foobar'}) }}

但是,我想将“帮助”定义为表单构建器中字段的选项,如下所示:

class myClassType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('title',null,array('help'=>'foobar'));
    }
}

这没有产生任何结果(“选项“帮助”不存在”)。我也试过

$builder
   ->add('title',null,array('attr'=>array(help'=>'foobar')));

它也不起作用。

有什么想法可以让这样的东西工作吗?

最佳答案

使用

$builder
->add('title',null,array('attr'=>array('help'=>'foobar'))); 

然后

{% if attr['help'] is defined %}
    <span class="help">{{ attr['help'] }}</span>
{% endif %}

关于php - 如何通过 FormBuilder 的字段传递 Twig 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12184376/

相关文章:

forms - 非 SSL 页面中的 SSL 页面 iframed - 表单提交是否仍然安全?

php - PHP解析/语法错误;以及如何解决它们

php - PHP 中的类似和不同系统

PHPUnit - 测试上次插入 ID

php - 通过 PHP 安全地重新填写发布的表单数据

asp.net-mvc - 如何在发布表单时将默认值设置为空 EditorFor-field i .NET MVC

symfony - 如何在 Apache 虚拟主机中使用 ssl 证书 (https) 在 cpanel 托管中配置 Symfony 应用程序

symfony - TYPO3 Composer 依赖冲突

javascript - 为谷歌地图上的每个位置设置位置标记

debugging - Symfony2.3 - Web Profiler 未显示错误