2013-05-06 4 views
20

ho negozio Img in Acme/DemoBundle/Resources/public/img/weather_icon/blizzard.gif voglio mettere questo img nel mio modello così ho fattoSymfony2 percorso dell'immagine nel modello ramoscello

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

e

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

e

E questo non funzionava. Ho fatto asset: installare e Assetic: discarica

Risolto ha funzionato

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

La prima sintassi è buona. - Alcuni pensieri: controlla che esista il file 'web/bundles/acmedemo/img/weather_icons/blizzard.gif' (è possibile facilmente un errore di battitura). –

+0

@konadrian: solo per chiarire che la tua risposta è l'uso senza Assetic, basta servire i file che sono memorizzati direttamente nell'applicazione. L'utilizzo di Assetic offre molti vantaggi rispetto alla possibilità di servire direttamente i file. I file non devono essere memorizzati da dove vengono serviti e possono essere estratti da varie fonti, ad esempio all'interno di un pacchetto. – Dung

risposta

33

Si prega di provare questo

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

Si dovrebbe istall gli asset in web directory con il comando

app/console assets:install web 
4

È possibile utilizzare un'immagine di un pacchetto:

{% 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

Soluzione assetica: otterrete prestazioni migliori con assetico anziché asset.

struttura di directory ad esempio:

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

struttura del progetto, ad esempio:

yourproject\src\AppBundle\Resources\public\images\yourimage.png 

in call yourhtml.html.twig:

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

NOTA:

T la sua è fornire l'installazione di pacchetto Assetic che può essere impostato in composer.json del progetto in quanto tale:

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

google per ulteriori istruzioni su come installare Assetic Symfony2 fascio.

questo è tutto.

fonte:

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