取消yii中默认调用Protected/views/layouts/ 中的布局文件的方法
2013-06-17 16:03:48;  来源:网络;  作者:;  评论:0 点击:

在使用yii做开发时,我们通常都是前后台分离这个时候我没就会想到用yii模块功能,这时候大多数人都会遇到一个问题,前台和后台要用不同的布...

在使用yii做开发时,我们通常都是前后台分离
这个时候我没就会想到用yii模块功能,这时候大多数人都会遇到一个问题,前台和后台要用不同的布局文件,这时怎么办呢?其实yii提供这个功能 下面我们就来看看怎么做吧

我们创建了一个admin的模块  创建一个AdminController.php的控制器




比如说 我要调 这个 modules/admin/views/layouts/ column2.php 这个视图文件
那么在 contrllers/AdminController.php 这个 controller 文件里 要这样写

public $layout='/layouts/column2';

注意前面是 / 不是 //  

如果是 // 就会默认去调 protected/views/layouts

这里就是 其实 就是 绝对和相对的关系
 

或者 public $layout='column2';  //column2 可以改成你想用用的文件

ok  到这里问题基本解决了  我在啰嗦一下 有很多人在这里以为工作完成了预览发现视图文件没有改过来  ???怎么回事呢? 也是很多人可能遇到的问题

我们用gii curd 创建生成控制器 默认用的是 column2.php视图文件  

打开 columm2.php的文件发现

<?php $this->beginContent('//layouts/main'); ?>


原来是这里搞的鬼 哈哈 找到了 我们改一下就好了

<?php $this->beginContent('/layouts/main'); ?>

或者

<?php $this->beginContent('application.modules.admin.views.layouts.main'); ?>

<div class="container">

  <div class="span-19">

    <div id="content">

      <?php echo $content; ?>

    </div><!-- content -->

  </div>

  <div class="span-5 last">

    <div id="sidebar">

    <?php

    $this->beginWidget('zii.widgets.CPortlet', array(

      'title'=>'Operations',

    ));

    $this->widget('zii.widgets.CMenu', array(

      'items'=>$this->menu,

      'htmlOptions'=>array('class'=>'operations'),

    ));

  $this->endWidget();

  ?>

  </div><!-- sidebar -->

</div>

</div>

<?php $this->endContent(); ?>
本文属转载文章,并不能保证完全正确,只供学习交流参考,版权归原作者所有。如果您认为有侵犯权利等不和法行为,请联系我们及时改正。http://www.zhuitaiyang.com/html/fcms/144.html

相关热词搜索:取消 yii 默认 调用 layouts views 布局文件

上一篇: yii中如何使用CGridView根据字段值来显示不同的自定义按钮或者文字?
下一篇:YII框架概述及安装

收藏
回到顶部