资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

【yii】让module支持theme

yii支持module和theme,分别都有很多文章,但是如何更好的结合起来,很少有人关注。

创新互联建站专注于吴忠企业网站建设,成都响应式网站建设,成都做商城网站。吴忠网站建设公司,为吴忠等地区提供建站服务。全流程按需策划设计,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

yii提供了一个默认的方式,即在webroot的theme目录下增加一个module目录解决。

【yii】让module支持theme

默认方案满足了大部分人的需要,但是都说是模块了,肯定要通用啊。那为了更好的满足通用性,肯定希望吧模块的一些主题内容放在模块自己的目录下。

【yii】让module支持theme

好吧,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默认处理,即去应用的主题目录下查找模块目录。


分享题目:【yii】让module支持theme
转载来源:http://cdkjz.cn/article/gsseep.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220