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

2020-10-20 14:31:27 浏览数 (1)

本文实例讲述了Yii框架布局文件的动态切换操作。分享给大家供大家参考,具体如下:

如果你看了底层Controller的源码和Module(模块)的源码,那么你就能很熟练的婉转布局切换了。

1、在控制器中切换当前布局和在方法中动态切换布局

代码语言:javascript复制
<?php
namespace appmodulesTestModulecontrollers;
use Yii;
use yiiwebController;
class IndexController extends Controller
{
  //在属性中声明
  public $layout = "custom1";
  public function actionIndex()
  {
    //在方法中动态切换布局
    $this- layout = "custom2";
    $this- render('index',array(
      'name' =  '谭勇',
      'age' =  22
    ));
  }
}
? 

在类属性中声明layout 会覆盖父类Controller 类中的layout 达到切换布局的目录。

甚至我们可以在模块文件中声明布局

代码语言:javascript复制
namespace appmodulesTestModule;
use yiibaseModule;
class TestModule extends Module
{
  //当前应用主题
  private $theme = 'default';
  public function init()
  {
    //控制器文件存放目录
    $this- controllerNamespace = 'appmodulesTestModulecontrollers';
    $dirname = dirname(__FILE__);
    //视图目录 (包含主题目录)
    $this- setViewPath($dirname . '/views/' . $this- theme . '/');
    //生命布局名称
    $this- layout = "common";
  }
}

然后我们就在default主题下的layouts目录中去寻找common.php布局了。

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

0 人点赞