Как получить текущий абсолютный URL-адрес в ветке без маршрута передачи?
В ветке мне нужно получить текущий полный uri (url + uri), не оказывая его ему как
path('route_test', {param1:1})
Как это получить?
Ответ 1
Попробуйте использовать:
{{ app.request.uri }}
Ответ 2
В последней версии ветки больше не работает {{app.request.uri}}
Попробуйте {{global.request.uri}}.
Ответ 3
У вас могут быть проблемы с подзапросами ($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';
}
}
Ответ 4
Как было сказано выше, некоторые ответы уже недействительны.