Yii小物件widget的简单操作

来源:互联网 发布:织梦网站模板源码下载 编辑:程序博客网 时间:2024/05/01 20:48

1.直接widget调用,不包含内容体 body


第一步:在protected/components/文件夹下面 建立文件 BannerMagicWidget.php

BannerMagicWidget.php的内容如下

<?phpclass BannerMagicWidget extends CWidget {public $imageName;public function run() { $random = rand(1,3); if ($random == 1) {   $advert = "advert1.jpg"; }  else if ($random == 2) {   $advert = "advert2.jpg"; }  else {   $advert = "advert3.jpg"; }  $this->render('bannermagic',array(   "advert"=>$advert,   'imageName'=>$this->imageName, ));}}

第二步:在protected/components/文件夹下面,建立文件夹 view,在文件夹下面建立文件 bannermagic.php ,bannermagic这个名称在其他视图文件进行调用

bannermagic.php的文件内容

<?php echo $imageName?><h1><?php echo $advert;?></h1>

第三步:在控制器的视图文件里面,进行调用

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />widget的使用<?php $this->widget("BannerMagicWidget",array('imageName'=>'图片名称'));?> //imageName 为类的属性


2.包含内容体的应用 body

第一步:在protected/components/文件夹下面 建立文件 BannerMagicWidget.php

BannerMagicWidget.php的内容如下

<?phpclass BannerMagicWidget extends CWidget {    public $imageName;    protected $data;    public function init(){        $this->data=range(10,20);        // 此方法会被 CController::beginWidget() 调用         //当视图中执行$this->beginWidget()时候会执行这个方法        //可以在这里进行查询数据操作    }        public function run() {       // 此方法会被 CController::endWidget() 调用         $random = rand(1,3);         if ($random == 1) {           $advert = "advert1.jpg";         }  else if ($random == 2) {           $advert = "advert2.jpg";         }  else {           $advert = "advert3.jpg";         }          $this->render('bannermagic',array(           "advert"=>$advert,           'imageName'=>$this->imageName,           'data'=>$this->data,         ));    }}

第二步:在protected/components/文件夹下面,建立文件夹 view,在文件夹下面建立文件 bannermagic.php ,bannermagic这个名称在其他视图文件进行调用

bannermagic.php的文件内容

<?php echo $imageName?><h1><?php echo $advert;?></h1><?php foreach($data as $key=>$val):?><h1><?php echo $key.'==='.$val?></h1><?php endforeach;?>

第三步:在控制器的视图文件里面,进行调用
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?php $this->beginWidget("BannerMagicWidget",array('imageName'=>'<h1>图片名称</h1>'));?> 
 //imageName 为类的属性
<?php $this->endWidget();?>
                                             
0 0
原创粉丝点击