4

ビューにテンプレートを含めたいのですが、機能しません。次のエラーがあります。

テンプレート "::StyleBlock/light-pattern.html.twig" が ::base.html.twig の 46 行目に見つかりません。

私のコード:

{% for zone in content.blocks %}
    {% set path = '::StyleBlock/' ~ zone.styles %}
    {% include path %}
{% endfor %}

詳細には、次のメッセージがあります。

InvalidArgumentException: ファイル "views/StyleBlock/light-pattern.html.twig" が存在しません (: /var/www/gathena/app/Resources)。

しかし、パスは正しいです、私は理解していません。

私は Symfony 2.3 を使用しており、ディレクトリに適切な権限を持っています

4

2 に答える 2

7

間違ったパスを指定しました。次のようにする必要があります。

{% for zone in content.blocks %}
    {% set path = 'CmsCmsBundle:StyleBlock:' ~ zone.styles %}
    {% include path %}
{% endfor %}

パスはsrc/Cms/CmsBundle/Resources/views/StyleBlock/

最初のパラメーターはバンドル、2 番目はこの場合のコントローラーですStyleBlock。したがって、ビューはResources/views/StyleBlockディレクトリ内のバンドルにあり、最後のパラメーターは、この場合ループ変数によって定義されるテンプレート名です。絶対パスなしで、テンプレート名のみにする必要があります。すべてのパラメータは、:

于 2013-08-03T14:01:35.563 に答える
0

これを試して :

::StyleBlock:light-pattern.html.twig
于 2013-08-03T13:36:44.583 に答える