2013-05-06 3 views
20

хранить IMG в Acme/DemoBundle/Resources/public/img/weather_icon/blizzard.gif Я хочу поставить этот 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

Первый синтаксис хорош. - Некоторые мысли: убедитесь, что существует файл 'web/bundles/acmedemo/img/weather_icons/blizzard.gif' (опечатка легко создается). –

+0

@konadrian: просто чтобы пояснить, что ваш ответ - использование без Assetic, вы просто обслуживаете файлы, которые хранятся в приложении напрямую. Использование Assetic предоставляет множество преимуществ перед непосредственным обслуживанием файлов. Файлы не нужно хранить там, где они обслуживаются, и могут быть нарисованы из различных источников, например изнутри пакета. – Dung

ответ

33

Пожалуйста, попробуйте это

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

Вы должны Установите фильтры и соберите свои активы в веб-каталог с помощью команды

app/console assets:install web 
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 

структуры проекта, например:

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

в yourhtml.html.twig вызова:

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

Примечание:

T его предоставляет вам установить assetic пакет, который может быть установлен в composer.json проекта как такового:

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

Google для получения дополнительной инструкции по установке assetic расслоение Symfony2.

это.

источник:

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

 Смежные вопросы

  • Нет связанных вопросов^_^