1

我正在使用LiipImagineBundle

我已按照文档中的安装说明进行操作

在 AppKernel.php 中

new Liip\ImagineBundle\LiipImagineBundle(),

并在 routing.yml

# app/config/routing.yml

_imagine:
    resource: .
    type:     imagine

在 config.yml

#app/config/config.yml
liip_imagine:
    filter_sets:
        image_upload_thumbnail:
            quality: 85
            filters:
                thumbnail: { size: [150, 150], mode: outbound }

在我的树枝文件中

<img alt="{{ media.title|default('untitled') }}" src="{{ media.getWebPath | imagine_filter('image_upload_thumbnail') }}"/>

我收到这个错误

An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "_imagine_image_upload_thumbnail" as such route does not exist.") 

我尝试过的:

  • 缓存清除
  • php 应用程序/控制台路由器:调试 | grep 想象没有找到
  • 路线不存在且未注册
  • 验证我有media/cache具有正确权限的文件夹
4

1 回答 1

1

尝试以下操作:

删除空格:

{{ media.webPath|imagine_filter('...') }}

...或作为函数调用:

{{ imagine_filter( media.webPath, 'filtername', false ) }}

Twig 似乎imagine_filter作为 twig 函数调用,而不是作为 twig 过滤器。

你最终media.webPath没有被作为参数传递。

(提示:只需使用media.webPath代替media.getWebPath- 树枝会自动为您调用吸气剂)

实际上,底层函数filter()接受图像路径作为第一个参数,过滤器名称作为第二个参数。

第三个参数(布尔值)确定是生成相对还是绝对 url - 默认为 false(相对)。

当前想象使用过滤器名称作为路由名称并尝试生成一个 url ......这当然不起作用:)

于 2014-03-02T12:39:38.137 回答