我已經定義的路線爲遵循我的routing.yml文件:如何在Symfony路由中使用錨點?
route_name:
path: "/dashboard#messages/{id}"
但是當我問的Symfony生成的路線,我得到:
/dashboard%23messages/12345
我怎麼能跳過編碼部分路線生成?或者我怎麼能在路徑定義中跳出#
char? PS:使用(大)遺留系統,我不能更改的網址。
我已經定義的路線爲遵循我的routing.yml文件:如何在Symfony路由中使用錨點?
route_name:
path: "/dashboard#messages/{id}"
但是當我問的Symfony生成的路線,我得到:
/dashboard%23messages/12345
我怎麼能跳過編碼部分路線生成?或者我怎麼能在路徑定義中跳出#
char? PS:使用(大)遺留系統,我不能更改的網址。
可從Symfony 3.2獲得。錨杆
支持已經公佈了使用fragment
可變路由組件:
$this->get('router')->generate('user_settings', ['_fragment' => 'password']);
將產生一個網址:/user/settings#password
欲瞭解更多信息view the announcement。
你不能簡單 - 航線部分無條件編碼:
$url = strtr(rawurlencode($url), $this->decodedChars);
從技術上講,你可能已經擴展了類UrlGenerator
類和使用router.options.generator_class
參數交換他們。然後,您可以覆蓋doGenerate
方法並替換%23
- >#
。
我唯一關心的是網址的生成。不是URL處理。 –
與[KnpMenuBundle](https://github.com/KnpLabs/KnpMenuBundle):'$ node-> addChild('settings',['route'=>'user_settings','routeParameters'=> ['_ fragment'= >'密碼']])' –