如果我有一批看起來像這樣的路線:如何設置會話的默認路由參數?
/{location}/catalog
/{location}/search
等
會議始終具有「位置」屬性(別名爲自動識別的用戶的位置,如城市)。因此,要生成具有{位置}參數的每條路線,我需要做
{ location: session.get('location') }
是否有任何方法可以自動執行此操作?我可以重寫默認的UrlGenerator並將@session注入它嗎?
如果我有一批看起來像這樣的路線:如何設置會話的默認路由參數?
/{location}/catalog
/{location}/search
等
會議始終具有「位置」屬性(別名爲自動識別的用戶的位置,如城市)。因此,要生成具有{位置}參數的每條路線,我需要做
{ location: session.get('location') }
是否有任何方法可以自動執行此操作?我可以重寫默認的UrlGenerator並將@session注入它嗎?
嘗試覆蓋RoutingExtension類/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Extension/CodeExtension.php Symfony 2.1 Extending Core Classes
而且你可以叉https://github.com/symfony/TwigBridge,並與作曲家用它http://getcomposer.org/doc/05-repositories.md#vcs
謝謝!要傷心,但似乎唯一的辦法就是分叉TwigBridge(不可能向RoutingExtension注入額外的服務,我只能指定一個類)。所以我更喜歡替換所有的路徑函數。這將更容易支持。 – gridsane 2013-05-20 07:13:24
我有與枝條一起使用的解決方案。我通過注入「會話」和「路由器」來定義一個樹枝擴展,並創建具有合併參數的自定義「location_path」函數。但我必須在所有模板中替換path(),而不是我認爲的最佳解決方案。 – gridsane 2013-05-14 12:43:56