Model view controller CakePHP根据域加载不同的布局/数据?

Model view controller CakePHP根据域加载不同的布局/数据?,model-view-controller,cakephp,dns,cakephp-1.3,Model View Controller,Cakephp,Dns,Cakephp 1.3,我需要运行两个网站,一个为高端客户,一个为低端客户 他们做的几乎一样,但看起来不同。例如,它们可能都有产品A,但价格和说明(没有重复内容)将有所不同 然而,在大多数情况下,他们将有不同的产品,高端站点的高端产品和低端站点的低端产品 如果两个站点使用相同的底层结构,那么就更容易了,这样就不必重复许多重叠的部分。特别是在变化期间。但必要时,它需要考虑每个站点的不同逻辑 因此,如果我将两个不同的域(我们称它们为highend.com和lowend.com)指向同一个服务器。处理这个问题的最佳方法是什么

我需要运行两个网站,一个为高端客户,一个为低端客户

他们做的几乎一样,但看起来不同。例如,它们可能都有产品A,但价格和说明(没有重复内容)将有所不同

然而,在大多数情况下,他们将有不同的产品,高端站点的高端产品和低端站点的低端产品

如果两个站点使用相同的底层结构,那么就更容易了,这样就不必重复许多重叠的部分。特别是在变化期间。但必要时,它需要考虑每个站点的不同逻辑

因此,如果我将两个不同的域(我们称它们为highend.com和lowend.com)指向同一个服务器。处理这个问题的最佳方法是什么

我是否应该/可以确定app_控制器中使用的域,并指定要使用的布局或设置子控制器要使用的变量?怎么做

是否有一种方法可以为数据库中的某些字段添加前缀。例如,如果有一个
products
表和一个
products.highend\u name
和一个
products.lowend\u name
字段。然后在代码中只需参考
Product.name
,但根据使用的域,请使用正确的域。但是对于像样式编号这样的重叠字段,没有前缀,只有
products.style\u number
,因为这两种方式都是一样的。有没有办法搞成这样?怎么做

做这样的事情最好的方法是什么?是否有其他框架可以更好地处理此问题?

在控制器中:

$host = $_SERVER['SERVER_NAME'];
if($host=='www.posh.com')
{
    $this->layout = 'posh';
}
elseif($host=='www.cheap.com')
{
    $this->layout = 'cheap';
}
else
{
    $this->layout = 'default';
}

我想我也可以尝试建立一种行为来处理加载不同的数据。这是个不错的主意。它还将有助于开发人员查看站点,即。