2011-02-02 2 views
0

Мне нужно запустить 2 сайта, один для высокопроизводительных клиентов и один для пользователей с низким уровнем дохода.CakePHP загружает различные макеты/данные в зависимости от домена?

Они оба в значительной степени делают то же самое, но выглядят по-другому. Например, оба они могут иметь продукт A, но цена и описание (без дублирующегося содержимого) будут разными.

Однако, по большей части, они будут иметь разные продукты, высокопроизводительные продукты для сайта высокого уровня и низкокачественные продукты для сайта низкого уровня.

Проще, если оба сайта используют одну и ту же базовую структуру, поэтому многие перекрывающиеся части не должны дублироваться. Особенно во время изменений. Но при необходимости он должен учитывать разные логики на сайт.

Итак, если я укажу 2 разных домена (позвоним на них highend.com и lowend.com) на тот же сервер. Каков наилучший способ справиться с этим?

Должен/Могу ли я определить, какой домен используется в app_controller, и указать, какой макет использовать или установить переменную, которая будет использоваться дочерними контроллерами? Как?

Есть ли способ префикс некоторых полей в базе данных. Например, если есть таблица products и products.highend_name и поля products.lowend_name. Затем в коде просто ссылайтесь на Product.name, но в зависимости от того, какой домен используется, используйте правильный. Но для перекрытия feilds, таких как style_number, нет префикса только products.style_number, так как он одинаковый в любом случае. Есть ли способ установить что-то подобное? Как?

Каков наилучший способ сделать что-то подобное? Есть ли другая структура, которая могла бы справиться с этим лучше?

ответ

2

В контроллере:

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

Я думаю, что я мог бы попытаться построить поведение, чтобы справиться с загрузкой различных данных. –

+0

Неплохая идея. Это также было бы полезно для просмотров разработчиком сайта, то есть http://dev.cheap.com – Leo

Смежные вопросы