对于不太具描述性的标题感到抱歉,找不到放置它的方法。
我正在开发一个网站,用户可以使用产品建立自己的商店。我想做的是将所有商店名称称为:
site.com/shop1
site.com/my_shop_name
site.com/john_shop
等
当然我不想干扰其他路线,例如/ shops / add,/ shops / edit,/ products / view / product_name等。
由于商店是动态创建的,我不能将所有路由记录为routes.php。
有解决方案吗?
感谢
答案 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个路径。这都是