Установка и запуск LiipImagineBundle в Symfony 2.1

Вот шаги, за которыми я следовал:

  1. Добавлено следующее в моем composer.json:

    "require": {
         "imagine/Imagine": ">=0.2.8",
         "liip/imagine-bundle": "*@dev",
         ....
         }
    
  2. Выполнить следующую команду в командной строке:

    composer update
    Installing imagine/imagine (v0.4.0)
    Installing liip/imagine-bundle (dev-master f7d5e4d)
    
  3. После обновления композитора моя структура каталогов в папке vendor выглядит примерно так:

  1. Затем обновите vendor/composer/autoload_namespaces.php

     'Imagine'   => $vendorDir .'/imagine/Imagine/lib/',
     'Liip\\ImagineBundle'=>$vendorDir . '/liip/imagine-bundle/',
    
  2. Зарегистрированный комплект:

    new Liip\ImagineBundle\LiipImagineBundle(),
    
  3. Маршрутизация:

    # app/config/routing.yml
    _imagine:
    resource: .
    type:     imagine
    
  4. config.yml

      # app/config/config.yml
      liip_imagine:
      filter_sets:
         my_thumb:
            quality: 75
            filters:
               thumbnail: { size: [120, 90], mode: outbound }
    
  5. Добавлено в файл шаблона ветки:

    <img src="{{ asset('bundles/acmedemo/images/1.jpg') | imagine_filter('my_thumb') }}" />
    
  6. Откройте localhost / symfony / web /app_dev.php/demo/hello/test

Там не было генерации уменьшенного изображения. При просмотре источника я обнаружил строку:

  <img src="/symfony/web/app_dev.php/media/cache/my_thumb/symfony/web/bundles/acmedemo/images/1.jpg">

Что я пропустил? Может ли кто-нибудь помочь мне с этим? Я использую xampp 1.8 на Windows XP с настройками по умолчанию

2 ответа

Решение

Когда я заменил

 <img src="{{ asset('bundles/acmedemo/images/1.jpg') | imagine_filter('my_thumb') }}" />

с

 <img src="{{ 'bundles/acmedemo/images/1.jpg' | imagine_filter('my_thumb') }}" />

Я получил эскиз. Я удалил помощник asset() из ветки, и это сработало, но я не знаю, как это работает.

Вы могли бы сделать: <img src="{{ (asset('bundles/acmedemo/images/1.jpg')) | imagine_filter('my_thumb') }}" /> поскольку фильтр фильтрует полный путь к изображению, а не только то, что входит в asset(), это означает, что вы также можете включить 'asset()'

Спасибо

Другие вопросы по тегам