2016-06-23 89 views
2

一个小问题一直困扰着我;用PHP &枝杈树枝:Javascript包含顺序

我需要在一个特定的顺序

的JavaScript这是我的布局,流动

  • app_layout.twig - 这是我的核心应用程序的布局,页眉和页脚,其自己的js以及

  • module.twig - 我在这里扩展app_layout.twig。模块有自己的一组javascript文件

  • sub-module.twig - 这是包含在模块内部并有自己的js。

如何在页面末尾添加javascript子模块?

Example module.twig 

    {% extends "app_layout.twig" %} 
     <-- some html --> 
     {% include "submodule.twig" %} 
     {%block js_includes%} 
     <-- some js includes here --> 
     {%endblock%} 
     {%block sub_js_includes%} 
     {%endblock%} 


    Example submodule.twig 
    <-- some html --> 
    {%block sub_js_includes %} 
    <-- js for submodule 
    {%endblock%} 

但是,sub_js_includes甚至包含在js_includes之前。我如何确保包含js的模块之后确实包含了子jjs?

谢谢

回答

1

这是不可能的。一个包括完全是,包括。 我认为你正在寻找parent函数。然后你可以重构你的coode以延长一次。

例module.twig

{% extends "app_layout.twig" %} 
    {%block js_includes %} 
     <-- some js includes here --> 
    {%endblock%} 
{%endblock%} 

例submodule.twig

{% extends "module.twig" %} 
    {%block js_includes %} 
     {{ parent() }} 
     <-- more js includes here --> 
    {%endblock%} 
{%endblock%} 
+0

感谢Jahns指点出来。让我看看我是否可以重新组织结构。 – Veeru

+0

这个想法是,你只需在主模板中的站点末尾放置一个js块,并在较低的模板中扩展该块。 –