在 twig 中,我需要获取当前的完整 uri (url + uri),而不是像这样渲染它
path('route_test', {param1:1})
如何得到它?
尝试使用:
{{ app.request.uri }}
正如上面所说,一些答案不再有效。
截至2017'09 年对我有用的是这个
{{ url('<current>') }}
在最新版本的树枝中不再起作用{{app.request.uri}}
试试{{global.request.uri}}
吧。
您可能对子请求($this->forward
来自控制器或{{ render(controller('...')) }}
视图)有问题,我更喜欢为此使用 Twig 扩展。
<?php
namespace AppBundle\Twig\Extension;
// ...
class MyExtension extends \Twig_Extension
{
// ...
public function getFunctions()
{
return [
new \Twig_SimpleFunction('current_locale', [$this, 'currentLocale']),
new \Twig_SimpleFunction('current_uri', [$this, 'currentUri']),
];
}
public function currentLocale()
{
return $this->get('request_stack')->getMasterRequest()->getLocale();
}
public function currentUri()
{
return $this->get('request_stack')->getMasterRequest()->getUri();
}
public function getName()
{
return 'my';
}
}