Для этого можно использовать the ServerUrl
view helper. Проверьте также this answer here.
$serverUrl = $this->serverUrl(); // output: http://www.siteX.com
Затем вы можете установить css или другие конкретные макеты в зависимости от значения этой переменной. Можно, например, использовать a php switch statement для этого внутри вашей точки зрения (в файле layout.html
):
Ввиду:
switch($serverUrl){
case 'http://www.site1.com':
// logic for site 1
break;
case 'http://www.site2.com':
// logic for site 2
break;
case 'http://www.site3.com':
// logic for site 3
break;
case 'http://www.site4.com':
// logic for site 4
break;
case 'http://www.site5.com':
// logic for site 5
break;
case 'http://www.site6.com':
// logic for site 6
break;
}
В качестве альтернативы можно также установить другой макет в контроллер в зависимости от значение $serverUrl
. Как установить макет также объясняется here in this answer. Так что-то вроде:
В контроллере:
$serverUrlHelper = $this->getServiceLocator()->get('ViewHelperManager')->get('ServerUrl');
$serverUrl = $serverUrlHelper();
switch($serverUrl){
case 'http://www.site1.com':
$this->layout('layout/layout1');
break;
case 'http://www.site2.com':
$this->layout('layout/layout2');
break;
case 'http://www.site3.com':
$this->layout('layout/layout3');
break;
case 'http://www.site4.com':
$this->layout('layout/layout4');
break;
case 'http://www.site5.com':
$this->layout('layout/layout5');
break;
case 'http://www.site6.com':
$this->layout('layout/layout6');
break;
}
Теперь я использую переключатель заявление, но есть, вероятно, похож на 100 различных способов сделать это, но что я уезжаю до вашего творчества.