我正在尝试将某个URL映射到某个Controller操作。目前我在项目中有一个MVC设置,其中site.com/members/view/1将向我显示第一个成员,site.com/members/edit/1将编辑第一个成员。然后如果我去site.com/members/add会给我注册表。我想去site.come / register并获取site.com/members/add发布的表格。
到目前为止,我已尝试使用routes.yml文件中的路由,这是我所做的:
Name: mysiteroutes
Before: '*'
After:
- '#rootroutes'
- '#coreroutes'
- '#modelascontrollerroutes'
- '#adminroutes'
---
Director:
rules:
'register': 'MembersPage_Controller'
这在一定程度上起了作用。如果我去site.com/register/add,它会给我表格。我试图弄清楚如何删除添加部分。我怎么告诉它,当你去site.com/register加载MembersPage_Controller / add action?
答案 0 :(得分:0)
好吧,我不知道是否可以使用Director的规则直接路由到一个动作。
但是你可以将现有控制器子类化,并将“添加”操作作为此操作的默认操作,例如。
Class MemberAddController extends MemberPage_Controller {
private static $url_handlers = array(
'' => 'add'
);
}
并在你的config.yml:
Director:
rules:
'register': 'MemberAddController'
当然,如果索引方法未使用,您可以将此$url_handlers
值添加到现有控制器中。