class AdminExtension extends \Twig_Extension
{
// content...
}
我通过添加添加新twig方法的类来扩展twig功能。在这个方法里面我想使用当前路线。我怎么能这样做?
我的意思是,例如,有:
www.someurl.com/prefix/controller1/aaa/bbb/ccc/ddd
我想让controller1/aaa/bbb/ccc/ddd
成为我描述的函数内部的一部分。
谢谢!
答案 0 :(得分:3)
您应该将扩展名注册为服务,然后在服务中注入request_stack
(从Symfony 2.4开始):
my_extension:
class: ...
arguments: ["@request_stack"]
tags: [{ name: twig.extension }]
然后,您可以使用RequestStack#getCurrentRequest()
获取请求,然后您可以使用Request#getUri()
获取当前网址。