2016-03-25 31 views
0

我知道如何访问我的资产,但我想创建一个使用Javascript和Twig的模板,这将允许我在脚本中使用Twig变量。如何使用Javascript Twig模板正确包含Javascript

例如,我有一个叫做“details.html.twig”模板,它延伸的“layout.html.twig”:

{% extends '@AcmeBundle/Front/layout.html.twig %} 
{# SOME CODE AND CONTENT #} 


{% block page_script %} 
    {{ parent() }} 
    <script> 
    {# Part of my script #} 
    </script> 
{% endblock page_script %} 

所有这一切都完美地工作,但能够重用一些js代码(使用树枝变量),我剪掉了脚本的一部分,并将其放入一个名为'viewer.html.twig'的外部模板中。为了能够在我的“details.html.twig”使用它,我用:

{% include '@AcmeBundle/Front/Model/viewer.html.twig' %} 

我把这个行右后{{父()}}一个和<script>标记之前。 但是,我以前直接用'details'模板编写的脚本似乎已经被忽略了。

如果你们中的任何一个人都可能知道是什么让我的模板被包含但跳过了,或者更容易或正确地包含模板的方式,我乐意接受所有类型的观察。

天儿真好, 杰里米

+0

将您的代码封装在'viewer.html.twig'中的块标签中,然后在其中包含它的位置调用'{{block('my_custom_block_name')}}' – Twifty

回答

1

如果代码只包含一个文件的JavaScript您应该为您的文件:

{% include '@AcmeBundle/Front/Model/viewer.js.twig' %}

然后嫩枝(截至1.17)自动定义基于其逃逸策略在扩展。

查看twig docsjs twig file in symfony的示例。

相关问题