我想这样做:
www.xxx.com/product1
使用order controller的index()并将product1作为参数传递。
www.xxx.com/product2
使用order controller的index()并将product2作为参数传递。
然后,
www.xxx.com/product1/shipping
使用订单控制器的运输()。
www.xxx.com/product2/shipping
使用订单控制器的运输()。</ p>
我试过了:
Router::connect('/:product',
array('controller' => 'order'),
array(
'product' => 'product1|product2',
'pass' => array('product')
)
);
,适用于www.xxx.com/product2
我尝试/:product/:action
使其在index()
后工作,但效果不佳。它会显示missing controller for product1
或其他内容。
我该怎么办?
答案 0 :(得分:0)
一般情况下,我建议使用某种分母来表示您正在查看产品,例如hostname.tld/products/product1
或更短host.tld/p/product1
。这将使您在将来更容易扩展它。您可能希望了解REST或Restful URL的概念。
但是,如果你想坚持这个计划,你应该尝试用Apache重写你的URL,它对用户来说会快得多,更容易跟踪自己,更灵活,因为你可以编写各种模式,包括正则表达式。