1

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

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

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

 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();
  }

正确设置主题。但我一直找不到文件,因为渲染器正在寻找受保护的文件。

4

2 回答 2

1

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

讨论后更新
麻烦ETwigViewRenderer和它与主题一起工作

于 2013-10-31T07:51:59.430 回答
0

如果您想更改整个布局,也许这是一个好方法:

在 Yii 中设置布局

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

Yii::app()->getBaseUrl(true)
于 2013-10-31T06:41:30.557 回答