1

我正在尝试构建一个迷你 cms,其中所有 url 都转到“产品”控制器的索引操作。

products_controller 检查 url 并将其视为参数,因此 '/widgets' 将命中 index($url) 函数并将 'widgets' 传递给 $url 参数。

然后我进行这样的查找,检查一个名为 url 的字段:

$product= $this->Product->find('first', array('conditions' => array('Product.url LIKE' => $url)));

然后我将这个 $product 吐到我的视野中。这种方法意味着我可以在我的数据库中添加产品,并指定产品的 url,而无需向路由添加东西。我还有一个导航栏,它简单地由数据库中的所有 url 组成,使用 find all。

我的问题是我的路由和我的管理员。因为我将所有 url 路由到 products_controller 的 index() ,所以它不会导致我的管理部分出现问题。因此,我将我的管理员放在一个单独的控制器中,并手动将 URL 连接到操作(索引、视图、编辑、添加、删除)。问题是我的管理部分不起作用,因为 url 路由不正确,并且它破坏了管理路由。

任何人都可以看到这样的“包罗万象”路线的方法,而且我的管理员路由也可以正常工作。

希望我已经解释得足够清楚了,如果没有,请大喊大叫,因为我想弄清楚这一点。

4

1 回答 1

2

如果你有一个覆盖默认管理路由的路由,你可以在 routes.php 中添加类似的东西来覆盖它。

    Router::connect('/admin/:controller/:action/*',
                   array('admin'=>true));
于 2009-11-24T17:06:19.370 回答