У меня есть приложение kohana v3. 2 субдомена, указывающие на это приложение. что я должен установить это, kohana использует другой шаблон если приложение, названное с subdomain2.example.com?
в данный момент все вызовы (от subdomain1 и subdomain2) используют стандартный шаблон: 'шаблоны/значение по умолчанию'
спасибо!
daniel
Сначала получите имя поддомена из $_SERVER['SERVER_NAME']
:
list($subdomain) = explode('.', $_SERVER['SERVER_NAME'], 2);
Затем выберите, какой шаблон использовать на основе поддомена:
// Replace this with a switch() statement if you want to choose another way
$this->template = 'templates/'.$subdomain;
Приведенный выше код должен быть помещен в метод Controller::before()
до вызова parent::before()
. Это предполагает, что вы используете Controller_Template
или его расширение.
кто-нибудь может мне помочь: kohana v3: использование разных шаблонов для разных поддоменов
danzzz, есть несколько способов ... ( У меня нет времени вдаваться в подробности .. так что я быстро перейду сюда ..) .. А) используйте перезапись URL, чтобы сопоставить bla.site.com с site.com/bla (и www.bla.com + bla.com на bla.com/www) ... используйте этот первый параметр в качестве триггера ... затем загрузите другой модуль наверху стека, чтобы он мог переопределить что-либо из нижнего модуля - это предполагает все, что можно переопределить хранится в модуле, в противном случае вы можете использовать его в качестве триггера, любое где в коде ... и B) на самом деле одно и то же, но с использованием этого параметра в качестве имени представления или что-то подобное ... всякий раз, когда у меня есть что-то подобное, я стараюсь оставлять свою папку приложения пустой и располагать модуль приложения в верхней части стека модулей ... таким образом, я могу загрузить "скин" модуль выше и пусть каскадная FS выполняет всю тяжелую работу ... имейте в виду, что "скин-модули" и т. д. потребуется строгий набор правил и интерфейсов. Если вы внесете изменения в приложение, вам необходимо знать, что все скины по-прежнему работают ...