抱歉,标题描述性不强,找不到方法。
我正在开发一个网站,用户可以在其中使用产品建立自己的商店。我想做的是让所有商店名称都被称为:
site.com/shop1
site.com/my_shop_name
site.com/john_shop
ETC
当然,我不想干扰 /shops/add、/shops/edit、/products/view/product_name 等其他路线。
由于商店是动态创建的,我无法将所有路线都写成 routes.php。
有解决办法吗?
谢谢
抱歉,标题描述性不强,找不到方法。
我正在开发一个网站,用户可以在其中使用产品建立自己的商店。我想做的是让所有商店名称都被称为:
site.com/shop1
site.com/my_shop_name
site.com/john_shop
ETC
当然,我不想干扰 /shops/add、/shops/edit、/products/view/product_name 等其他路线。
由于商店是动态创建的,我无法将所有路线都写成 routes.php。
有解决办法吗?
谢谢
我正在从事类似类型的项目。我所做的是我们有固定的模板。所以在模板的数据库表中,我给了这些模板一个特殊的名称。这些模板将像这样显示
app/view/Home/aglet.ctp app/view/Home/gondor.ctp
app/view/About/aglet.ctp app/view/About/gondor.ctp
app/view/Layout/aglet/default.ctp app/view/Layout/gondor/default.ctp
app/webroot/aglet/css/123.css app/webroot/aglet/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 个路由。就这样