在我base.html.twig我呈現一個組件:得到symfony3路線控制器/渲染子內採取行動
{% block header %}
{{ render(controller("AppBundle:Application\\Header:header")) }}
{% endblock %}
有沒有一種方法來獲得當前的路由操作/控制器?即瀏覽器中的當前網址?
當我做var_dump($ request-> get('_ route')); die;它的結果爲空
在我base.html.twig我呈現一個組件:得到symfony3路線控制器/渲染子內採取行動
{% block header %}
{{ render(controller("AppBundle:Application\\Header:header")) }}
{% endblock %}
有沒有一種方法來獲得當前的路由操作/控制器?即瀏覽器中的當前網址?
當我做var_dump($ request-> get('_ route')); die;它的結果爲空
如果你想獲得實際的路線,在你的控制器就可以得到主機請求是這樣的:
$this->container->get('request_stack')->getMasterRequest()->get('_route');
因爲我無法通過評論回答,所以我必須將其寫爲答案。
如上mentionned,這個問題可能是重複的: Get current URL in Twig template
兩者都要當前路線的名稱和當前的網址,你可以通過你的樹枝模板內簡單地使其:
<p><strong>current route name</strong> :{{app.request.attributes.get('_route')}}</p>
<p><strong>current url: </strong> {{ app.request.schemeAndHttpHost ~ app.request.requestUri }}</p>
我試過了,它打印出這個:當前路由名稱: 當前網址:http:// localhost:8000/_fragment?_path = _format%3Dhtml%26_locale%3Den%26_controller%3DAppBundle%253AApplication%255CHeader%253Aheader – user1009698
would你複製/粘貼你的控制器的代碼? – MedUnes
的可能的複製[獲取當前在樹枝模板?](http://stackoverflow.com/questions/9378714/get-current-url-in-twig-template) – MedUnes
不要這麼想,當我嘗試,我得到這個: 在呈現模板期間拋出了異常(「無法生成指定路由的URL」,因爲這樣的路由不存在。「)。 – user1009698
其實會是這樣的:$ _ SERVER [「REQUEST_URI」]。有沒有幫助服務來獲取這些數據?包裝? – user1009698