2012-03-31 9 views
7

से बाहर हैं I am simfony2 को jQuery UI के साथ काम करने की कोशिश कर रहा हूं। मुझे इसका जावास्क्रिप्ट हिस्सा मिल गया है ठीक है लेकिन मुझे छवियों को काम करने में परेशानी हो रही है।Symfony2 cssrewrite फ़िल्टर के छवि पथ

एसेटिक दस्तावेज़ों में मैंने जो कुछ पढ़ा है वह यह है कि cssrewrite फ़िल्टर सीएसएस फाइलों में छवि पथ ले सकता है और उन्हें अपडेट कर सकता है ताकि पथ सही जगहों पर इंगित हो जाएं। यह बिल्कुल वही दिखता था जो मुझे चाहिए, इसलिए मैंने cssrewrite सक्षम किया।

// original 
images/ui-icons_222222_256x240.png 

// using cssrewrite 
../../../app/Resources/public/css/themes/base/images/ui-icons_222222_256x240.png 

पहले पथ अच्छा नहीं है: यहां बताया cssrewrite मेरी रास्तों में परिवर्तन किया। cssrewrite पथ कम से कम फाइल सिस्टम में सही पथ को इंगित करता है, लेकिन मेरे वेबूट के सापेक्ष, cssrewrite पथ रास्ता बंद है। जाहिर है मेरी app निर्देशिका सार्वजनिक नहीं है।

मैं अपने पथ को बदलने के लिए cssrewrite फ़िल्टर कैसे प्राप्त करूं जो वास्तव में काम करेगा?

यहां मेरी स्टाइलशीट समावेशन है। (और हाँ, मुझे पता है कि मैं व्यक्तिगत रूप से इन सभी सीएसएस फ़ाइलों सहित कर रहा हूँ जिस तरह से गूंगा है, लेकिन मैं अब यह सही के बारे में चिंतित नहीं हूँ।)

{% stylesheets 
     '../app/Resources/public/css/*' 
     '../app/Resources/public/css/themes/base/jquery.ui.accordion.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.all.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.autocomplete.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.base.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.button.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.core.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.datepicker.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.dialog.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.progressbar.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.resizable.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.selectable.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.slider.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.tabs.css' 
     '../app/Resources/public/css/themes/base/jquery.ui.theme.css' 
    %} 
     <link rel="stylesheet" href="{{ asset_url }}" /> 
    {% endstylesheets %} 
+0

मेरे प्रश्न का उत्तर देखें, इसमें एक कामकाजी उदाहरण है: http://stackoverflow.com/questions/9500573/path-of-assets-in-css-files-in-symfony2 – apfelbox

उत्तर

11

CssRewrite फिल्टर के साथ कुछ known problems रहे हैं। मुझे जो पता है, उसके लिए यह @BundleName नोटेशन का उपयोग करके ठीक से काम नहीं करता है और bundles/bundle_name पथ का उपयोग करके सीएसएस फाइलों को जोड़ने का कामकाज लगता है।

इस प्रकार अपने कोड कुछ इस तरह होना चाहिए:

{% stylesheets filter='cssrewrite' 
     'bundles/<your_bundle_name>/css/*' 
     'bundles/<your_bundle_name>/css/themes/base/jquery.ui.accordion.css' 
     'bundles/<your_bundle_name>/css/themes/base/jquery.ui.all.css' 
     'bundles/<your_bundle_name>/css/themes/base/jquery.ui.autocomplete.css' 
     'bundles/<your_bundle_name>/css/themes/base/jquery.ui.base.css' 
     'bundles/<your_bundle_name>/css/themes/base/jquery.ui.button.css' 
     'bundles/<your_bundle_name>/css/themes/base/jquery.ui.resizable.css' 
     'bundles/<your_bundle_name>/css/themes/base/jquery.ui.selectable.css' 
     'bundles/<your_bundle_name>/css/themes/base/jquery.ui.slider.css' 
     'bundles/<your_bundle_name>/css/themes/base/jquery.ui.tabs.css' 
     'bundles/<your_bundle_name>/css/themes/base/jquery.ui.theme.css' 
    %} 
     <link rel="stylesheet" href="{{ asset_url }}" /> 
    {% endstylesheets %} 

कहाँ <your_bundle_name> जाहिर बंडल आप पर काम कर रहे का नाम है।

संपादित करें: आदेश प्रतीकात्मक web निर्देशिका में अपनी संपत्तियों को लिंक करने के लिए, php app/console assets:install --symlink web आदेश देने के लिए याद है।

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