2013-05-06 7 views
20

मैं Acme/DemoBundle/Resources/public/img/weather_icon/blizzard.gif में img की दुकान मैं अपने टेम्पलेट में इस img रखना चाहते हैं तो मैंSymfony2 पथ

<img src="{{ asset('bundles/acmedemo/img/weather_icons/blizzard.gif') }}" /> 

और

<img src="{{ asset('..img/weather_icons/blizzard.gif') }}" /> 

और

किया

और यह काम नहीं किया। मैं संपत्ति किया: स्थापित करने और assetic: डंप

हल यह

<img src="{{ asset('img/weather_icons/Blizzard.gif') }}" alt="Symfony!" /> 
+0

पहले वाक्य रचना अच्छा है। - कुछ विचार: जांचें कि 'वेब/बंडल/एमेमेडमो/img/weather_icons/blizzard.gif' फ़ाइल मौजूद है (एक टाइपो आसानी से बनाया जाता है)। –

+0

@ कोनाड्रियन: केवल यह स्पष्ट करने के लिए कि आपका उत्तर एसेटिक के बिना उपयोग है, आप केवल उन फ़ाइलों को सेवा देते हैं जो सीधे एप्लिकेशन में संग्रहीत हैं। एसेटिक का उपयोग सीधे फ़ाइलों की सेवा करने पर कई फायदे प्रदान करता है। फ़ाइलों को संग्रहीत करने की आवश्यकता नहीं है जहां से उन्हें परोसा जाता है और विभिन्न स्रोतों जैसे कि बंडल के भीतर से खींचा जा सकता है। – Dung

उत्तर

33

काम किया इस

<img src="{{ asset('bundles/acmedemo/img/weather_icons/blizzard.gif') }}" /> 

आप कमांड

app/console assets:install web 
साथ वेब निर्देशिका में अपनी संपत्तियों को istall चाहिए: प्रयास करें
4

आप एक बंडल की छवि का उपयोग कर सकते हैं:

{% image '@CoreBundle/Resources/public/images/your-image.jpg' output="images/your-image.jpg" %} 
<img src="{{ asset_url }}" width="100%" height="100%" alt="my alt of image" class="pull-left"> 
{% endimage %} 
0

एसेटिक समाधान: संपत्ति के विपरीत आपको संपत्ति के साथ बेहतर प्रदर्शन मिलेगा। उदाहरण के लिए

निर्देशिका संरचना: उदाहरण के लिए

C:\xampp\htdocs\yourproject\src\AppBundle\Resources\public\images\yourimage.png 

परियोजना संरचना:

yourhtml.html.twig कॉल में
yourproject\src\AppBundle\Resources\public\images\yourimage.png 

:

{% image '@AppBundle/Resources/public/images/yourimage.png' %} 
        <img src="{{ asset_url }}" alt="Example" /> 
       {% endimage %} 

नोट:

टी उसके प्रदान कर रहा है आप assetic बंडल है जो इस तरह के रूप में इस परियोजना के composer.json में सेट किया जा सकता स्थापित: assetic बंडल symfony2 स्थापित करने के बारे में अधिक शिक्षा के लिए

"require": { 
"php": ">=5.3.3", 
"sensio/framework-extra-bundle": "~3.0", 
"symfony/assetic-bundle": "~2.6", }, 

गूगल।

यह है।

स्रोत:

http://symfony.com/doc/2.7/cookbook/assetic/asset_management.html#cookbook-assetic-cssrewrite