4

以下是我遵循的步骤:

  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. 作曲家更新供应商文件夹内的目录结构后,如下所示:

在此处输入图像描述

  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. 配置.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">

我错过了什么?有人可以帮我解决这个问题吗?我在 Windows XP 上使用默认设置的 xampp 1.8

4

2 回答 2

6

当我更换

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

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

我得到了缩略图。我删除了 twig 的asset() 助手,它工作了,但不知道它是如何工作的。

于 2013-01-01T03:17:51.850 回答
1

您可能会这样做:<img src="{{ (asset('bundles/acmedemo/images/1.jpg')) | imagine_filter('my_thumb') }}" />因为过滤器过滤了完整的图像路径,而不仅仅是asset() 包含的内容,这意味着您还可以包含“asset()”

谢谢

于 2013-03-09T23:09:50.463 回答