从相同的Yii代码运行两个版本的站点

时间:2013-10-31 06:32:47

标签: php yii

我有两个版本的项目。对于一个我使用不同的CSS和索引页面而另一个我使用不同的。其余的控制器,模型和组件是相同的。唯一的区别在于视图(一个或两个文件)和CSS。

有没有办法管理这个? Like when the URL is URL1 then use CSS1/View1 folder and when url is URL@ use CSS2/view2 folder.我已经浏览了Yii的modules部分,但我认为它们不是我需要的。

所以现在我开始使用主题。我的文件夹结构如下:

 WebRoot
    - assests
    - css
    - images
    - protected
    - themes
      - theme1
        -views
          -site
          -layout
          -template
           - theme1
      -theme2
        -views
          -site
          -layout
          -template 

在我的控制器中,我做到了这一点:

  public function init() {
    if (SITE_TITLE == 'xxxxx')
      Yii::app()->theme = 'theme1';
    else
      Yii::app()->theme = 'theme2';
    parent::init();
  }

正确设置主题。但由于渲染器正在寻找受保护的物体,我不断发现文件未找到。

2 个答案:

答案 0 :(得分:1)

我认为,你需要使用主题。以下是文档:http://www.yiiframework.com/doc/guide/1.1/en/topics.theming

讨论后

更新 ETwigViewRenderer中的问题以及使用主题的问题

答案 1 :(得分:0)

如果你想改变整个布局,也许这是一个很好的方法:

Setting Layout in Yii

如果您只想更改css,他们为什么不依赖请求uri或域名?

Yii::app()->getBaseUrl(true)