@WinterSilence спасибо за помощь. Кстати, нет, не будет xD Надо будет поправить.
var_dump($_SERVER) вернет мне параметры сервера, запроса, хоста и домена. Это самое просто решение, что бы определить, что домен является m.site.ru. На данный момент, я так и делаю.
Поэтому в родительском контроллере Controller_Site, от которого наследуются все другие контроллеры. Я добавил пару строк в метод before().
Код:
public function before()
{
if(strpos($_SERVER['HTTP_HOST'], 'm.site.ru') !== false) {
$this->mobile = true;
}
parent::before();
Если я помещяю parent::before(); выше условия, то сайт падает в бесконечный луп. Поэтому оставил после.
Теперь во всех дочерних классах, которые наследуются от Controller_Site. Я делаю проверку на мобильну версию, и если это так, то подгружаю другой шаблон.
Код:
if($this->mobile) $this->template->content = View::factory('mobile/static');
else $this->template->content = View::factory('static');
Возможно это не самое элегантное решение которое можно придумать, но оно полностью решает мою проблему с разными шаблонами для разных доменов с одним Kohana ядром.
Повторюсь, как только мобильная версия будет готова, можно будет на nginx поставить проверку на мобильных пользователей и автоматически их редектить на мобильную версию сайта. И кохана сама выведит нужный шаблон. Вроде это достаточно быстрое решение.
Будет интересно услышать другие, более элегантные решения этой проблемы.