【yii】让module支持theme
admin
2023-07-04 12:04:34
0

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

相关内容

热门资讯

玄戒技术取得分频电路专利,实现... 国家知识产权局信息显示,北京玄戒技术有限公司取得一项名为“分频电路、分频器、射频芯片和电子设备”的专...
为什么今年香会基调明显变了 5月29日—31日在新加坡举行的第23届香格里拉对话会(简称“香会”),见证着元首引领下大国关系继续...
成本几毛钱、假驱蚊液香精兑水,... 入夏升温,蚊虫进入活跃期,驱蚊防护成为民生刚需,《财经调查》持续接到消费者投诉,他们买到的多款网红驱...
越来越多80后90后,正在丧失... 六一儿童节到来之际,朋友圈里开始出现一种熟悉的热闹。有人晒出零食礼包,有人半开玩笑地向伴侣讨礼物,还...
洋保电子取得用于低温环境的电气... 国家知识产权局信息显示,洋保电子(太仓)有限公司取得一项名为“一种用于低温环境的电气柜”的专利,授权...
中日韩飞手争霸宁波!2026无... 潮新闻客户端 记者 陈冲 通讯员 朱凝 5月31日,2026小遛·无人机竞速世界杯(中国·宁波鄞州站...
谁在对台湾“温水煮青蛙”? 近一段时间以来,两岸的舆论场都非常热闹,但话题却不尽相同。先看看岛内,马英九基金会的“家变”愈演愈烈...
上海磁骋取得超级电容主动均衡电... 国家知识产权局信息显示,上海磁骋交通科技有限公司取得一项名为“一种超级电容主动均衡电路”的专利,授权...
超市运送猪肉时,一只狗跑来啃食... 5月31日,湖北孝昌的网友发布视频称,一家超市在运送猪肉时,肉从车上搬下来后,一只黑色的狗跑来啃食猪...
日本要搞两个首都? 日本媒体日前报道,日本维新会正在推进将大阪设为“副首都”的构想,定于6月中旬组建一个专门小组。对此,...