我有两个版本的项目。对于一个我使用不同的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();
}
正确设置主题。但由于渲染器正在寻找受保护的物体,我不断发现文件未找到。
答案 0 :(得分:1)
我认为,你需要使用主题。以下是文档:http://www.yiiframework.com/doc/guide/1.1/en/topics.theming
讨论后 更新
ETwigViewRenderer
中的问题以及使用主题的问题
答案 1 :(得分:0)
如果你想改变整个布局,也许这是一个很好的方法:
如果您只想更改css,他们为什么不依赖请求uri或域名?
Yii::app()->getBaseUrl(true)