【问题标题】:Symfony2 Twig including header with assets not workingSymfony2 Twig 包括资产不工作的标题
【发布时间】:2015-02-17 05:34:32
【问题描述】:

我正在尝试将我的标题包含到另一个模板中,不扩展,就像这样

{% include '@Foo:Bar:_header.html.twig' %}

那个标题,包含这个

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <title>{{ site.name }}</title>

    {% block stylesheets %}
        {% stylesheets
            "@Foo/Resources/public/app.css"
        %}
            <link rel="stylesheet" href="{{ asset_url }}" />
        {% endstylesheets %}
    {% endblock stylesheets %}
</head>
<body>

没有什么不寻常的,只是一些带有资产的 css 文件。

这种行为给我抛出了这个异常

在模板编译过程中抛出异常 (“模板不支持“bundle”参数。”)在 “@Foo/bar/_header.html.twig”。

嗯?

如果不包括 {% include %}扩展{% extends %} 一切正常。

为什么我想包含而不是扩展?我想创建新块,并包含其他内容等。

这个问题好吗?这是它应该工作的方式吗?

【问题讨论】:

  • 此模板的捆绑包是否已添加到资产捆绑包中?
  • @SimeonKolev #bundles: [ ] 这就是我拥有的,我一直这样使用它。如果这是问题所在,即使使用 {%extends%} 也无法正常工作,但它正在以这种方式工作,并且错误将类似于 Add this bundle to your assetic config(或类似的东西,我不记得确切)

标签: php html symfony twig assetic


【解决方案1】:

愚蠢的答案,愚蠢的问题。

修复从包含中删除@,我不知道我为什么使用它。

{% include '@Foo:Bar:_header.html.twig' %} 不工作

{% include 'Foo:Bar:_header.html.twig' %} 工作

【讨论】:

  • 请注意,如果您在 bundle 中使用此语法,模板将不会在此 bundle 之外被覆盖。
【解决方案2】:

查看问题:https://github.com/symfony/AsseticBundle/issues/331

它指出要解决此问题,您应该将 AsseticBundle 更新为“master-dev”分支(此问题已在几天前修复,但尚未合并到 Bundle 的稳定版本中)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多