0

我想让它像:

www.xxx.com/product1 使用订单控制器的 index() 并将 product1 作为参数传递。

www.xxx.com/product2 使用订单控制器的 index() 并将 product2 作为参数传递。

然后,

www.xxx.com/product1/shipping 使用订单控制器的 shipping()。

www.xxx.com/product2/shipping 使用订单控制器的 shipping()。

我试过了:

Router::connect('/:product', 
array('controller' => 'order'),
array(
        'product' => 'product1|product2',
        'pass' => array('product')
)
);

它适用于www.xxx.com/product2

之后我试图/:product/:action让它工作,index()但并不顺利。它显示missing controller for product1什么的。

我应该怎么办?

4

1 回答 1

0

一般来说,我建议使用某种分母来说明您正在查看产品这一事实,比如hostname.tld/products/product1oder short host.tld/p/product1。这将使您将来更容易扩展它。您可能想看看 REST 或 Restful URL 的概念。

但是,如果你想坚持这个计划,你应该尝试用 Apache 重写你的 URL,这对用户来说会更快,更容易为自己跟踪并且更灵活,因为你可以编写各种模式,包括正则表达式.

于 2013-02-12T18:49:49.357 回答