Symfony中的分组路由
问题描述:
我开始一个新的项目 - 我的第一个Symfony - 我试图弄清楚如何构建一个包含关联对象信息的路由。我可以找到的文档很轻松,至少可以说,而且我正在挣扎。我使用的是1.4.1瓦特/行走(现有的一些东西向后兼容),并具有:Symfony中的分组路由
的导航菜单(Menu
)是has_many
页(Page
)through
导航项目(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()
助手模板。
解决方案或任何东西只是为了让我在正确的方向开始,将不胜感激。
感谢。
答
你应该在这个看一看:
http://www.symfony-project.org/jobeet/1_4/Propel/en/05
它涵盖你的答案相当好。从路由的一般介绍开始,它是如何工作的,这非常值得一读。
然后继续覆盖对象的路线和目标路径集合,如何使用url_for /的link_to以及如何自定义网址,蛞蝓等
我已经做了教程(Jobeet的)和路由部分非常全面,但我不知道它在这个特定情况下说了些什么。 ':menu_slug'值不在我的'页面'表中,因为这个例子显示了'Job'路由。我可能没有完全处理这些信息,但我已经阅读了它(并编写了示例应用程序)。诺言。 在这种情况下,我不需要集合,只有一个路由(对于'Page)谁的URI引用一个'Menu'属性和一个'Page'属性。我只是没有看到如何去那里呢。 – 2009-12-17 12:10:24
好吧,你说得对。 Jobeet教程最终确实回答了我所问的问题。第二次读取让我看到了虚拟访问器,它允许URI助手了解我正在尝试做什么。谢谢。 – 2009-12-18 18:29:19