Symfony2:LiipImagineBundle - 异常:无法生成指定路由“_imagine_image_upload_thumbnail”的URL,因为此路由不存在

时间:2014-03-02 11:28:05

标签: php symfony twig liipimaginebundle

我正在使用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 }

并在我的twig文件中

<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 app / console router:debug | grep想象找不到
  • 路线不存在且未注册
  • 验证我拥有具有正确权限的media/cache文件夹

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

删除空格:

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

...或作为函数调用:

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

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

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

(提示:只需使用media.webPath代替media.getWebPath - twig会自动为您调用getter)

实际上underlying function filter()接受image-path作为第一个,filter-name作为第二个参数。

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

当然可以想象使用filter-name作为路由名称并尝试生成一个URL ...当然不起作用:)