PDA-версия сайта

Приветствую!

Есть практически готовый yii-сайт (несколько layouts, несколько контроллеров). Нужно сделать pda-версию сайта. Как грамотнее это организовать? Создать pda-аналоги layouts и переключать на них каждый контроллер при HTTP_HOST, начинающемся с "pda."? Есть ли другие варианты решения? Поделитесь личным опытом, пожалуйста.

Theme Manager…

В protected/components/Controller.php написать переключение тем.

А можно чуть подробнее? Или ссылку на примерчик…

http://www.yiiframework.com/doc/guide/ru/topics.theming

protected/components/Controller.php


public function init()

{

    parent::init();


    $pda = true; //Как-то определяй что это PDA


    if($pda)

        Yii::app()->theme = 'pda';

    else

        Yii::app()->theme = 'basic';

}

И папка с темами…


WebRoot/

    themes/

        basic/

            views/

                .htaccess

                layouts/

                    main.php

                site/

                    index.php

            css

                style.css

        pda/

            views/

                .htaccess

                layouts/

                    main.php

                site/

                    index.php

            css

                style.css


<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->theme->baseUrl; ?>/css/style.css"/>

Дальше два варианта…создать руками субдомен, и туда кинут один файлик…

или поколдовать с .htaccess

Какой рассказывать?

Первый вариант…контроллер изменять не надо…создаешь субдомен pda и кидаешь в корень index.php


<?php


// тут пути к main.php и Yii

$yii=dirname(__FILE__).'../www/framework/yii.php';

$config=dirname(__FILE__).'/../www/protected/config/main.php';


$config['theme'] = 'pda';


// remove the following line when in production mode

defined('YII_DEBUG') or define('YII_DEBUG',true);


require_once($yii);

Yii::createWebApplication($config)->run();

В protected/config/main.php допиши


'theme' => 'basic',

Вообще тут куча вариантов…и как выглядеть будет ссылка, и где будут хранится темы…нужно смотреть ситуацию…

Большое спасибо! Попробую.

Удалите сообщение, случайно вышло добавление…

  • в репутацию кинул бы :) Сори оффтоп