2012-09-01 13 views
11

से Symfony2 संपत्ति संसाधन स्थिर संसाधनों के साथ कुकीज़ भेजने से बचने के लिए मैं अपनी परियोजना को अनुकूलित करने की कोशिश कर रहा हूं (यानी: छवियां, स्क्रिप्ट, स्टाइलशीट इत्यादि)। मेरा दृष्टिकोण एक static.my-domain.com डोमेन बनाने के लिए कुकीज़ के बिना सभी स्थिर संसाधनों से सेवा करने के लिए है।स्थिर डोमेन या सबडोमेन

संपत्ति का उपयोग करके Symfony2 का उपयोग करके मैं इस डोमेन से संसाधन कैसे लोड कर सकता हूं?

मैं Symfony 2.1 RC2 उपयोग कर रहा हूँ

उत्तर

4

बाहर बदल जाता है वहाँ एक assets_base_urls विकल्प है कि आप संपत्ति डोमेन सेट करने के लिए अनुमति देता है।

+0

और छवियों के साथ क्या करना है? – unairoldan

+0

@ Ztere0 मेरा पिछला उत्तर पूरी तरह से गलत था। – meze

+0

छवियां संपत्ति हैं, उन्हें संपत्ति के साथ लोड करें() फ़ंक्शन –

1

मैं इस

# config.yml 
framework: 
    templating: 
     engines: ['twig'] 
     assets_version: 'dev' 
     assets_version_format: "%%2$s/%%1$s" 
    session: 
     cookie_domain:  %session.cookie_domain% 
twig: 
    globals: 
     assets_version: dev 
     static_assets_base_url: %static_assets_base_url% 
     static_images_base_url: %static_images_base_url% 
     static_image: %static_images_base_url%/dev/ # I didn't know how to reference the assets_version, so this is the same value 
     static_content: %static_images_base_url%/ 

# parameters.yml 
parameters: 
    session.cookie_domain: .myapp.dev 
    static_assets_base_url: http://myapp-static.dev 
    static_images_base_url: http://myapp-static.dev/path/to/web 
  • से निपटने के लिए संस्करणीकृत और संकलित सीएसएस के लिए/js आदि मैं {{ static_assets_base_url ~ asset_url }} प्रिंट कुछ टहनी वैश्विक गयी।
  • संस्करणित छवियों आदि के लिए मैं {{ static_image ~ 'bundles/mybundle/img/icon.jpg' }} प्रिंट करता हूं।
  • गैर-संस्करण वाली छवियों आदि के लिए मैं {{ static_content ~ 'content/img/upload-123.jpg' }} प्रिंट करता हूं।

मुझे याद नहीं है कि मैंने ऐसा क्यों किया, लेकिन यह संपत्तिगत बग से संबंधित था (क्या आश्चर्य है)। यह सिर्फ पथ को सही तरीके से संभाल नहीं सकता है, जैसे कभी-कभी यह संस्करण नहीं जोड़ता है, या यह गलत तरीके से करता है।

यदि आपको संपत्ति संस्करण मैन्युअल रूप से संशोधित करना है तो यह दर्द होगा, इसलिए आपके पास बेहतर करने के लिए तैनाती स्क्रिप्ट तैयार है।

ओह और याद रखें कि एसेटिक निर्दिष्ट निर्देशिकाओं में संकलित संपत्ति को डंप नहीं करेगा, यह एक ज्ञात मुद्दा है। तो आपको इन निर्देशिकाओं के लिए अपने स्वयं के सिम्लिंक जोड़ना होगा।

संपादित

कि आपके ऐप में एक उप डोमेन में है 'session.cookie_domain' पैरामीटर, आप एक ही डोमेन का उपयोग और कुकीज़ से बचने कर सकते हैं। यदि आपका ऐप सबडोमेन का उपयोग नहीं कर रहा है, तो आपको स्थैतिक संपत्तियों के लिए एक अलग डोमेन का उपयोग करना होगा।