cakephp将所有页面路由到某个视图

时间:2013-09-21 16:55:08

标签: routes cakephp-2.0

对于不太具描述性的标题感到抱歉,找不到放置它的方法。

我正在开发一个网站,用户可以使用产品建立自己的商店。我想做的是将所有商店名称称为:

site.com/shop1

site.com/my_shop_name

site.com/john_shop

当然我不想干扰其他路线,例如/ shops / add,/ shops / edit,/ products / view / product_name等。

由于商店是动态创建的,我不能将所有路由记录为routes.php。

有解决方案吗?

感谢

1 个答案:

答案 0 :(得分:0)

我在类似的项目中工作。我做的是我们有固定的模板。所以在templats的db表中我给了这些模板一个相关的名字。这些模板将像这样

应用程序/视图/主页/ aglet.ctp 应用程序/视图/主页/ gondor.ctp

应用程序/视图/关于/ aglet.ctp 应用程序/视图/关于/ gondor.ctp

应用程序/视图/布局/肩带/ default.thtml中 应用程序/视图/布局/冈/ default.thtml中

应用程序/根目录/肩带/ CSS / 123.css 应用程序/根目录/肩带/ JS / 123.js

当有人来到网站时,你可以获得该域名使用HTTP_HOST。按名称您可以获取domain_id,通过域hasOne模板,您可以获取模板forlder。  所以要报道你可以通过

获得
$this->layout = $result['Template][foldername].DS.'default'

$this->render('/Home'.DS.$result['Template][foldername]);

以这种方式,您可以定义路径。喜欢

Router::conncet('/Homepage',array('controller'=>'Home','action'=>'home'));

所以,如果您有6个页面,则必须创建6个路径。这都是