twitter-bootstrap - Symfony: "Template "bootstrap_3_layout.html.twig“不能用作特征”

标签 twitter-bootstrap symfony twig

我正在尝试使用Symfony's Bootstrap 3 form theme文件,包括如下:

# config.yml
twig:
    form_themes:
        - 'WOSECoreBundle:Form:WOSE_form_theme.html.twig'

WOSE_form_theme.html.twig 看起来像这样:

{% use "bootstrap_3_layout.html.twig" %}

{% block button_widget -%}
    {% set attr = attr|merge({class: (attr.class|default('btn-primary') ~ ' btn')|trim}) %}
    {{- parent() -}}
{%- endblock %}

但是,每当我浏览到应用程序中使用表单的页面时,我都会看到以下错误:

"Template "bootstrap_3_layout.html.twig" cannot be used as a trait"

知道这里出了什么问题吗?

最佳答案

我遇到了a similar issue在 Symfony 的 github 帐户上,其中包含了一条具有启发性的评论:“如果模板扩展了另一个模板,则该模板不会具有特征。”

Twig 中的“Traits”是水平重用,使用 use tag - 我们在 WOSE_form_theme.html.twig 中执行此操作:{% use "bootstrap_3_layout.html.twig"%}

Prior to Symfony 2.6.5 ,Symfony 的 Bootstrap3 模板包含以下行:

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

这个模板扩展另一个模板,因此它不能通过use引用(它“不可特质”),而我们正试图这样做。在 Symfony 2.6.5 及更高版本中,Bootstrap 模板包含以下行:

{% use "form_div_layout.html.twig" %}

此 >=2.6.5 版本的模板不再扩展另一个模板,因此可以根据需要通过 use 安全地引用。

将我的项目从 Symfony 2.6.3 升级到 2.6.5 解决了这个问题!

关于twitter-bootstrap - Symfony: "Template "bootstrap_3_layout.html.twig“不能用作特征”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30894278/

相关文章:

php - 如何获取当前项目索引 Knp paginator

path - Silex Controller 提供程序的替代 Twig 路径

html - Bootstrap 默认填充和边距导致图像拉伸(stretch)到容器外

javascript - 如何在javascript中检查php数组的长度

php - Twig如何仅在分页的第一页显示文本

Symfony2 应用程序在 kernel.request 和 kernel.controller 之间总是有 3 秒的等待

mysql - Doctrine Native SQL 多对多查询

twitter-bootstrap - 在 Selenium 中单击时 Twitter Bootstrap 模式按钮不起作用

html - Bootstrap 下拉菜单向左移动 :

php - Doctrine2 : dynamic entity associations, 多个目标实体被一个字段映射