2009-12-16 87 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