`
dcj3sjt126com
  • 浏览: 1826144 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

yii 修改模块使用的布局文件

    博客分类:
  • YII
阅读更多

方法一:
yii模块默认使用系统当前的主题布局文件,如果在主配置文件中配置了主题比如:

'theme'=>'mythm',
那么yii的模块就使用 protected/themes/mythm/views/layouts 下的布局文件;
如果未配置主题,那么 yii的模块就使用  protected/views/layouts 下的布局文件, 总之默认不是使用自身目录 protected/modules/my_module/views/layouts 下的布局文件。
 
于是想到去配置模块$layout属性
'my_module' => array(
'layout'=>'main', //这个属性的默认值是 //layout/main
), 
但没有起作用,原因在于模块下的controller的$layout值仍然是 //layouts/main
为了一劳永逸解决这个问题,在protected/modules/my_module/controllers里创建 DadController继承Controller
class DadController extends Controller {
public $layout = 'main';
}
所有的Controller都去继承DadController即可。 别忘了去主配置文件配置DadController的引入目录:
'import'=>array(
'application.models.*',
'application.components.*',
'application.modules.my_module.controllers.*',
),

方法二:

访问index.php?r=admin/default/index时,默认使用了protected/views/layout /main.php,如果想使用模块自己的layout文件(protected/modules/admin/views/layout /main.php),需要修改protected/modules/admin/controllers /DefaultController.php,在这个文件内添加下面代码:

public  $layout = 'application.modules.admin.views.layouts.main'; 


方法三:
在模块入口文件 beforeControllerAction中添加处理代码,这个方法发生于动作执行前:(例如AdminModule.php)
    public function beforeControllerAction($controller, $action)
    {
         $controller->layout = 'application.modules.admin.views.layouts.book';
        if(parent::beforeControllerAction($controller, $action))
        {
            // this method is called before any module controller action is performed
            // you may place customized code here
            return true;
        }
        else
            return false;
    }

0
2
分享到:
评论

相关推荐

    yii导出html文件

    yii导出html文件,或者导出text文件,超简洁。纯手打请高评谢谢

    yii的小部件使用

    yii的小部件使用的总结,快速生成增删改查,感觉不同的需求进行逻辑修改!

    Yii框架布局文件的动态切换操作示例

    主要介绍了Yii框架布局文件的动态切换操作,结合实例形式分析了Yii框架控制器动态切换布局的相关实现技巧,需要的朋友可以参考下

    Yii的微信模块Yii-wechat.zip

    Yii-wechat 是基于 Yii2 实现的微信模块, 集成微信模拟器、多公众号管理、扩展开发接口,只需关注功能,微信开发的强劲引擎.注意如果是全新使用Yii2和Yii2-wechat,你可以使用 Yii2-app-wechat 微信应用模板(可在该模板...

    Yii框架的布局文件实例分析

    我的理解就是布局存放了视图文件中的相同代码,使用布局文件可以减少视图文件代码的冗余。下面介绍如何使用Yii的布局文件。 首先在views\layouts下面创建自己的布局文件 common.php <!doctype html> <...

    Yii 2文件下载

    找了好久才找到的Yii2.0 找不到的朋友的福利,快快下载吧,需要怎么这么长我了个去

    YII多种缓存机制

    YII 多种缓存机制的运用 如文件缓存内存缓存 动态缓存等

    yii2-social, 用于嵌入社会插件和小部件的Yii2模块.zip

    yii2-social, 用于嵌入社会插件和小部件的Yii2模块 yii2-social 支持访问Yii框架 2.0的社交插件的模块。 它包括支持将插件从以下网络嵌入你的网站:DisqusFacebook像按钮共享按钮发送按钮保存按钮嵌入式日志嵌入式...

    Yii中使用PHPExcel

    Yii中使用PHPExcel,相信你看完本文档之后,疑点瞬即消失

    php YII框架数据库备份模块

    php YII框架数据库备份模块

    Yii2使用resful api接口

    Yii api接口使用 或 modules模块配置及使用 使用参考说明 https://blog.csdn.net/yunxixiao/article/details/118514207

    YiiMailer, Yii扩展使用PHPMailer发送带有布局的电子邮件.zip

    YiiMailer, Yii扩展使用PHPMailer发送带有布局的电子邮件 YiiMailerYii ( v1.1. x ) 扩展使用 PHPMailer 发送电子邮件的布局。特性基于 PHPMailer ( 绑定,使用分支'Composer的Composer 支持支持Yii布局和翻译支持...

    yii框架yii框架yii框架yii框架yii框架

    很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架

    Yii2Configloader从配置文件和环境变量构建配置数组

    Yii2 Configloader:从配置文件和环境变量构建配置数组

    基于YII2模块在Web上翻译JSON格式的翻译文件-PHP开发

    i基于YII2模块在Web上翻译JSON格式的翻译文件Yii2-背景翻译I18n:alien:基于YII2模块在Web上翻译JSON格式的翻译文件简介:sweat_droplets:该项目适用于客户端国际翻译。 它支持将JSON文件导入网页,并且在网络上进行...

    Yii2(归档文件)框架

    yii2框架归档文件包含basic和advanced2个版本

    yii2 basic 文件

    yii2 basic 文件

    Yii-Plugin:yii插件模块

    插件不会修改项目文件,可以安全地将其卸载。 可扩展。 可以将钩子添加到任何视图。 封装Yii函数,便于非Yii开发人员创建插件 模块使用 安装 将这些数组添加到项目配置中(如果您有多个条目,请将它们都添加到...

    Yii2-GeoIP:Yii2 模块允许轻松使用 MaxMind 免费数据库。 (黄皮)

    Yii2 模块允许轻松使用 MaxMind 免费数据库。 (由开发) 组件的安装: 解压components下的release文件 更改 web.php 配置文件 'components' => array ( . . . 'geoip' => [ 'class' => 'app\components\...

    YII模块实现绑定二级域名的方法

    YII模块实现绑定二级域名主要有如下步骤: 首先在配置文件设置: 'urlManager' => array( 'urlFormat' => 'path', 'showScriptName' => false, //注意false不要用引号括上 'urlSuffix' => '.html', 'rules' => ...

Global site tag (gtag.js) - Google Analytics