2009-12-16 83 views
0

我開始一個新的項目 - 我的第一個Symfony - 我試圖弄清楚如何構建一個包含關聯對象信息的路由。我可以找到的文檔很輕鬆,至少可以說,而且我正在掙扎。我使用的是1.4.1瓦特/行走(現有的一些東西向後兼容),並具有:Symfony中的分組路由

的導航菜單(Menu)是has_many頁(Pagethrough導航項目(NavItem

我知道該語法並不適用於Propel,但我希望你明白了。我想通過一個URI訪問一個頁面,該頁面包含菜單和頁面slu。。例如,要顯示頁面查找目標觀衆菜單,我想要使用/audiences/find。那麼,路線,@page_show看起來像/:menu_slug/:slug

架構的相關片段,勾畫出這樣的:

Menu: 
    id: ... 
    name: ... 
    slug: ... 

Page: 
    id: ... 
    name: ... 
    slug: ... 

NavItem: 
    menu_id: ... 
    page_id: ... 
    display_order: ... 

我還可能會關閉一些路由具體情況,但我不知道如何做的是配置在我的路線整體(包括如何引用它在我的佈局/用link_to()url_for()助手模板。

解決方案或任何東西只是爲了讓我在正確的方向開始,將不勝感激。

感謝。

回答

0

你應該在這個看一看:

http://www.symfony-project.org/jobeet/1_4/Propel/en/05

它涵蓋你的答案相當好。從路由的一般介紹開始,它是如何工作的,這非常值得一讀。

然後繼續覆蓋對象的路線和目標路徑集合,如何使用url_for /的link_to以及如何自定義網址,蛞蝓等

+0

我已經做了教程(Jobeet的)和路由部分非常全面,但我不知道它在這個特定情況下說了些什麼。 ':menu_slug'值不在我的'頁面'表中,因爲這個例子顯示了'Job'路由。我可能沒有完全處理這些信息,但我已經閱讀了它(並編寫了示例應用程序)。諾言。 在這種情況下,我不需要集合,只有一個路由(對於'Page)誰的URI引用一個'Menu'屬性和一個'Page'屬性。我只是沒有看到如何去那裏呢。 – 2009-12-17 12:10:24

+1

好吧,你說得對。 Jobeet教程最終確實回答了我所問的問題。第二次讀取讓我看到了虛擬訪問器,它允許URI助手瞭解我正在嘗試做什麼。謝謝。 – 2009-12-18 18:29:19