2012-10-02 14 views
10

से जेएस और सीएसएस को स्पष्ट रूप से जोड़ना मैं यह जानना चाहता हूं कि जेएस और सीएसएस को शामिल टेम्पलेट्स से जोड़ने का कोई साफ तरीका है या नहीं।जुड़वां टेम्पलेट्स

तो, उदाहरण के लिए, layout.html.twig है यदि:

{% include 'GenericBundle:Generic:page.html.twig' with {'data': data} %} 
... 
{% block javascript %} 

    {% javascripts 
     '@GenericBundle/Resources/public/js/app/jquery/jquery.min.js' 
     '@GenericBundle/Resources/public/js/lib/bootstrap/bootstrap.min.js' 
    %} 
     <script src="{{ asset_url }}"></script> 
    {% endjavascripts %} 

{% endblock %} 

और सामान्य बंडल पेज में मैं कुछ और अधिक जावास्क्रिप्ट शामिल हैं, लेकिन रखने के लिए स्थापित जावास्क्रिप्ट ब्लॉक करने के लिए यह जोड़ना चाहते हैं एचटीएमएल और जेएस सर्वोत्तम प्रथाओं।

क्या ऐसा करने का कोई साफ तरीका है? मैं सिम्फनी 2 का उपयोग कर रहा हूं, और शायद सिंगलेट्स और इस तरह का उपयोग करके एक समाधान को जोड़ सकता हूं, लेकिन अगर कोई उपलब्ध हो तो मैं क्लीनर विधि चाहूंगा।

उत्तर

16

मैं जानता हूँ कि मैं पार्टी के लिए देर से एक छोटे से हूँ, लेकिन टहनी 1.2 के साथ, आप use टैग और block समारोह का उपयोग कर सकते हैं:

GenericBundle: जेनेरिक: page.html.twig

{% block javascripts %} 
    <script src="..."></script> 
{% endblock %} 
{% block included_content %} 
    Bar 
{% endblock %} 

layout.html.twig

{% use 'GenericBundle:Generic:page.html.twig' with javascripts as page_javascripts %} 

{% block javascript %} 

    {% javascripts 
     '@GenericBundle/Resources/public/js/app/jquery/jquery.min.js' 
     '@GenericBundle/Resources/public/js/lib/bootstrap/bootstrap.min.js' 
    %} 
     <script src="{{ asset_url }}"></script> 
    {% endjavascripts %} 
    {{ block('page_javascript') }} // Don't forget the 'braces' 

{% endblock %} 

... 
{{ block('included_content') }} // Don't forget the 'braces' 
+1

आप {{blo में उद्धरण करना होगा सीके ('page_javascript')}} इसके लिए काम करने के लिए, अन्यथा आपको "वैरिएबल ... मौजूद नहीं है ..." त्रुटि संदेश –

+0

@VincentPazeller आप सही हैं, इसे –

+0

{% शामिल करें ... {जावास्क्रिप्ट के साथ : ब्लॉक ('जावास्क्रिप्ट')}%} मेरे लिए ठीक काम किया। – webDEVILopers

संबंधित मुद्दे