PHP交流群:256726721
在使用yii做開發時,我們通常都是前後台分離
這個時候我沒就會想到用yii模組功能,這時候大多數人都會遇到一個問題,前台和後台要用不同的布局檔案,這時怎麼辦呢?其實yii提供這個功能 下面我們就來看看怎麼做吧
我們建立了一個admin的模組 建立一個AdminController.php的控制器
650) this.width=650;" src="../attachment/201202/150919486.png" border="0" />
比如說 我要調 這個 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(); ?>
結束
PHP交流群:256726721
本文出自 “燭光照亮天堂-IT技術之路” 部落格,請務必保留此出處http://wuhai.blog.51cto.com/2023916/782738