2010-06-27 10 views
6

मैं अजगर में अपने टेम्पलेट इंजन के लिए जिन्जा 2 का उपयोग करता हूं।कंसट एकाधिक ब्लॉक?

मैं एकाधिक ब्लॉक की सामग्री में शामिल होना चाहता हूं और टैग से ठीक पहले टेम्पलेट के अंत में इसे प्रस्तुत करना चाहता हूं। {वे कई टेम्पलेट्स में कोड के दौरान विभिन्न जावास्क्रिप्ट स्निपेट हैं जिन्हें मैं फ़ाइल के अंत में ले जाना चाहता हूं, मैं इसे कैसे कर सकता हूं? }

संपादित करें:

मैं अपने सभी इनलाइन जावास्क्रिप्ट बच्चे जिंजा टेम्पलेट्स में बनाए जाते हैं स्थानांतरित करना चाहते हैं। मैं उन्हें पेज के नीचे ले जाना चाहता हूं। इसलिए मैंने पृष्ठ के अंत में मूल टेम्पलेट में एक ब्लॉक बनाया है और इसे जावास्क्रिप्ट लिखने के लिए बाल टेम्पलेट में उपयोग किया है। लेकिन, कई बच्चे हो सकते हैं, और कई जावास्क्रिप्ट ब्लॉक हो सकते हैं, और जिन्जा 2 में एकाधिक ब्लॉक समर्थित नहीं है, मेरे पास अन्य समाधान क्या है? -------- एक वैकल्पिक मुझे लगता है कि जावास्क्रिप्ट को इस तरह से बनाना है कि इसे इनलाइन होने की आवश्यकता नहीं है।

+0

थोड़ा और विस्तार में समझा सकते हैं आप क्या करना कोशिश कर रहे हैं:

तो आप प्रत्येक टेम्पलेट में कुछ इस तरह हो सकता था? –

उत्तर

15

मुझे लगता है कि कई बच्चों द्वारा, आप का मतलब है कि टेम्पलेट्स से विरासत वाले टेम्पलेट्स से उत्तराधिकारी टेम्पलेट्स हैं ... बेस टेम्पलेट से विरासत में। यदि ऐसा है, तो आपको प्रत्येक टेम्पलेट में उसी javascript ब्लॉक को परिभाषित करने की आवश्यकता है और अधिक जावास्क्रिप्ट जोड़ने के अलावा, सभी बच्चों में super() पर कॉल करें। कॉलिंग super() माता-पिता के javascript ब्लॉक के आउटपुट को मुद्रित करता है, और इसलिए विरासत की श्रृंखला पर। रास्ते के साथ, प्रत्येक ब्लॉक अपने स्वयं के कोड जोड़ सकता है।

{% block javascript %} 
    {{ super() }} 

    function foo(x, y) { 
     return x + y; 
    } 
{% endblock %} 
संबंधित मुद्दे