2013-04-06 60 views
1

我試圖啓用所有路線的可選區域設置佔位符而不重複所有內容。我的路線如下所示:symfony /路由 - 導入yml資源兩次

site: 
    prefix:/
    resource: "routes-site.yml" 

site_i18n: 
    prefix: /{_locale} 
    resource: "routes-site.yml" 
    defaults: {_locale: pl} 
    requirements: 
     _locale: 'en' 

但是我只獲得了site_i18n的工作。爲什麼我無法多次導入相同的資源? 它是Symfony 2.2

回答

1

因爲路由具有相同的路由名稱,所以後面的導入覆蓋第一個路由。 看一看:BeSimpleI18nRoutingBundle。它甚至可以本地化整個路徑,但在這種情況下,您只需要本地化前綴。

+0

爲此添加單獨的包對我來說太昂貴了。我正在尋找內置解決方案。 – spajak 2013-04-06 10:09:02

+0

貴是什麼意思?再加載一個(寫得很好)的bundle對性能影響很小(幾乎沒有)。實際上,當你使用bundle時 - 在加載路由時,會被緩存。它實際上只增加了自定義路由加載。 – 2013-04-06 10:16:22

+0

任何額外的代碼都需要花費時間(例如在生成網址時)。但是在這種情況下也許沒有更好的解決方案。然後我會查看源代碼。 – spajak 2013-04-06 10:53:31