yii支持module和theme,分别都有很多文章,但是如何更好的结合起来,很少有人关注。
10年积累的成都网站制作、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有淮滨免费网站建设让你可以放心的选择与我们合作。yii提供了一个默认的方式,即在webroot的theme目录下增加一个module目录解决。
默认方案满足了大部分人的需要,但是都说是模块了,肯定要通用啊。那为了更好的满足通用性,肯定希望吧模块的一些主题内容放在模块自己的目录下。
好吧,let me try。在module的类里面重载下面的函数即可。
public function getViewPath() { // 存在主题的话,去查看module有没有对应的 if(yii::app()->theme!==null) { $viewPath = dirname(__FILE__).DIRECTORY_SEPARATOR.'themes'.DIRECTORY_SEPARATOR.yii::app()->theme->name; if(file_exists($viewPath)) { return $viewPath.DIRECTORY_SEPARATOR.'views'; } } return parent::getViewPath(); }说明下:
如果在配置里面没有设置了theme的话,按yii默认处理,即读取模块的views目录。
如果设置了theme,会去模块的主题目录下查找对应的,存在的话,直接设置,没有的话,还是按照yii默认处理,即去应用的主题目录下查找模块目录。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。