У меня есть приложение kohana v3. 2 поддомена, указывающие на это приложение. что мне нужно настроить, что kohana использует другой шаблон, если приложение вызвано с subdomain2.example.com?
на данный момент все вызовы (из поддомена1 и поддомен2) используют стандартный шаблон: «шаблоны / по умолчанию»,
Спасибо!
Даниил
Во-первых, получите имя поддомена от $_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, есть несколько способов … (у меня нет времени, чтобы вдаваться в подробности .. так что я быстро поеду сюда ..). A) используйте переписывание URL-адресов для сопоставления bla.site.com на сайт. com / bla (и http://www.bla.com + bla.com to bla.com/www) … используйте этот первый параметр как триггер … затем загрузите другой модуль в верхнюю часть стека, чтобы он мог переопределить что-либо из нижнего модуля – это предполагает, что что-либо, что является переопределяемым, хранится в модуле, в противном случае вы можете использовать его в качестве триггера где-нибудь в коде … и B) на самом деле то же самое, но используя этот параметр как вид имя или подобное … всякий раз, когда у меня есть что-то подобное, я склонен оставлять свою папку приложений пустым и иметь модуль приложения в верхней части стека модулей. Таким образом, я могу загрузить модуль «skin» выше и что каскадные FS выполняют всю тяжелую работу … имейте в виду, что для модулей «skin» и т. д. потребуется строгий набор правил и интерфейсов, если вы внесете изменения в приложение, вам нужно знать, что все скины все еще работают. ..