Yii小物件widget的简单操作

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


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

BannerMagicWidget.php的内容如下

<?php
class 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的内容如下

<?php
class 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值