【发布时间】:2014-01-22 16:50:46
【问题描述】:
我们有一些网站example.com,我想为不同的城市制作路线(例如。
example.com/city1, example.com/city2)。
我们还想显示当前城市的所有其他控制器和方法(例如。
example.com/city1/:controller/:action, example.com/city2/:controller/:action)。
这看起来像 2 个或更多不同的站点,它们在控制器中使用相同的方法,但会根据城市显示不同的信息。
路由器前缀对我们不起作用,因为可能有超过 10 个城市,它必须在控制器中使用相同的方法。
我们可以从管理面板添加城市。
我们如何制作从数据库中获取城市并正确显示所有链接的路线?
【问题讨论】:
-
请显示您已经尝试过的代码以及您遇到的问题。
-
@Simon 我试过这个: $options = array('city' => 'phoenix|columbus|detroit'); Router::connect('/:city/:controller/:action/*', array(), $options); Router::connect('/:city', array('controller' => 'someControllerName', 'action' => 'index'), $options);并将参数 :city 添加到其他自定义路线,但我想找到更好的解决方案。