Подтвердить что ты не робот

Как получить текущий абсолютный URL-адрес в ветке без маршрута передачи?

В ветке мне нужно получить текущий полный uri (url + uri), не оказывая его ему как

path('route_test', {param1:1})

Как это получить?

4b9b3361

Ответ 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

Как было сказано выше, некоторые ответы уже недействительны.

Что работало для меня как 2017'09, это

{{ url('<current>') }}