में समेकित मैं एक सिम्फनी 2 प्रोजेक्ट में एसेटिक का उपयोग करने का प्रयास कर रहा हूं। मैं अपने config.yml में निम्नलिखित सेटिंग है:एबेटिक एसेट संग्रह डीबग मोड
# app/config/config.yml
assetic:
debug: %kernel.debug%
use_controller: true
filters:
cssrewrite: ~
yui_css:
jar: /home/testing/bin/yuicompressor-2.4.7.jar
less:
node: /usr/bin/node
node_paths: [/usr/local/bin/]
apply_to: "\.less$"
assets:
all_js:
inputs:
- @FoundationViewBundle/Resources/public/js/*
filters: [?yui_js]
all_css:
inputs:
- @FoundationViewBundle/Resources/public/css/*
filters: [less, ?yui_css]
(मामले आप सोच रहे हैं, इन सेटिंग्स config_dev.yml फ़ाइल में अधिरोहित जा रहा है।)
इन संग्रहों में Assetic द्वारा उठाया जाता है और उनके लिए मार्ग बनाए जाते हैं। फ़ाइल एक्सटेंशन के बिना प्रत्येक फ़ाइल के लिए अलग-अलग मार्ग और फ़ाइल नाम के साथ अलग-अलग मार्ग हैं। उदाहरण के लिए, "base.css" फ़ाइल के लिए, फ़ाइल डाउनलोड करने के लिए मार्ग (फ़िल्टर लागू के साथ) "/ परिसंपत्ति/all_css_part_1_base_1" है।
{% stylesheets '@all_css' %}
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}">
{% endstylesheets %}
(। और इसी तरह "all_js" संग्रह के लिए, लेकिन मैं अपने मुद्दे को प्रदर्शित करने के लिए सीएसएस पक्ष का उपयोग करेंगे)
:मैं तो मेरे टहनी टेम्पलेट में संपत्ति संग्रह के रूप में निम्नानुसार शामिल
जब ट्विग मेरा टेम्पलेट प्रस्तुत करता है, तो यह अलग-अलग फ़ाइलों के लिए बनाए गए मार्गों का उपयोग नहीं करता है, बल्कि "all_css" संग्रह के लिए "billing_url" को "/css/9118a5a_part_1.css" के रूप में प्रदर्शित करता है।
मैं देव फ्रंट कंट्रोलर का उपयोग कर रहा हूं और परीक्षण किया है कि एसेटिक का मानना है कि यह डीबग मोड में है। (उत्पादन-केवल फ़िल्टर लागू नहीं होते हैं।) हालांकि अन्यथा सुझाव देने वाले दस्तावेज़ों के बावजूद फ़ाइलों को अभी भी संयोजित किया जा रहा है।
इन फ़ाइलों में समस्याओं को ट्रैक करना बहुत मुश्किल है क्योंकि पंक्ति संख्या मेल नहीं खाती है, खासकर जावास्क्रिप्ट त्रुटियों के लिए। क्या ट्विग फ़ाइलों को अलग से प्रदर्शित करने के लिए मुझे कुछ और करने की ज़रूरत है?
मुझे इस टेम्पलेट का उपयोग एक बंडल के हिस्से के रूप में करने की उम्मीद थी जिसे कई परियोजनाओं में आयात किया जा सकता है और परियोजनाओं की कॉन्फ़िगरेशन के आधार पर सही संपत्तियां शामिल कर सकते हैं। अगर मैं सीधे संपत्ति को टेम्पलेट में डालता हूं तो यह उस तरह से पुन: प्रयोज्य नहीं होगा। (मुझे लगता है कि यदि मैं कोई अन्य रास्ता नहीं है, तो मैं ब्लॉक में परिसंपत्ति को शामिल कर सकता हूं और उन्हें एक परियोजना-विशिष्ट टेम्पलेट के साथ ओवरराइड कर सकता हूं।) – restouffer