मैं कस्टम सिम्फनी 2 फॉर्म फ़ील्ड प्रकार एक्सटेंशन में जावास्क्रिप्ट का उपयोग करना चाहता हूं। तो, मैं इस तरह टहनी एक्सटेंशन टेम्प्लेट है:सिम्फनी 2 कस्टम फॉर्म फ़ील्ड प्रकार: केवल एक बार जावास्क्रिप्ट और सीएसएस कैसे जोड़ें?
{% block some_widget %}
<input ... />
<script src="some.js"></script>
<link href="some.css" />
{% endblock %}
लेकिन मैं इन स्क्रिप्ट और लिंक टैग केवल एक बार मेरी HTML में, आदर्श सिर टैग में, आधार टेम्पलेट modifing बिना करना चाहते हैं। मैंने ट्विग ब्लॉक का विस्तार करने की कोशिश की, लेकिन मेरे पास फॉर्म टेम्पलेट के अंदर एक्शन टेम्पलेट ब्लॉक तक कोई पहुंच नहीं है। या शायद इस तरह कुछ:
{# widget tempate #}
{% block some_widget %}
<input ... />
{{ use_javascript('some.js') }}
{{ use_css('some.css') }}
{% endblock %}
{# main action template #}
...
<head>
{{ dump_javascripts() }}
{{ dump_css() }}
</head>
...
सिम्फनी 2 फॉर्म + ट्विग के साथ ऐसा कैसे करें?
पीएस मेरी खराब इंग्लिश के लिए माफ़ कीजिये।
आप बेस टेम्पलेट को संशोधित क्यों नहीं करना चाहते हैं? यह * वह स्थान है जहां आप जेएस \ सीएसएस फाइलों को आयात करना चाहते हैं – tamir
मैं कुछ स्वयं-युक्त फॉर्म विजेट एक्सटेंशन बंडल बनाना चाहता हूं और केवल एक बार AppKernel.php में इस बंडल को सक्षम करना चाहता हूं। इसके अलावा, यदि मैं वर्तमान पृष्ठ में विजेट का उपयोग नहीं करता हूं तो मैं जेएस/सीएसएस शामिल नहीं करना चाहता हूं। –
यह सिम्फनी (अब तक) में एक अनुपलब्ध विशेषता प्रतीत होता है। शायद हमें [django विजेट मीडिया] से प्रेरित होना चाहिए (https://docs.djangoproject.com/en/dev/topics/forms/media/#assets-as-a-static-definition) जिसमें संपत्ति केवल एक बार शामिल होती है विजेट वर्तमान –