Yii Framework 开发教程(12) UI 组件 ClipWidget示例

来源:互联网 发布:网络剧余罪第一季 编辑:程序博客网 时间:2024/06/06 01:51


CClipWidget提供了类似录制“宏”的功能,定义在CClipWidget的init和run之间的内容可以存放在Controller的Clip变量中,然后重新回放到任意其它位置。

CClipWidget封装的是CBaseController的beginClip和 endClip,CBaseController的beginClip和 endClip的基本用法如下:

首先定义Clip

[php] view plaincopyprint?
  1. $this->beginClip('clipID');  
  2. // ... display the clip contents  
  3. $this->endClip();  

然后再需要使用这个Clip的地方

[php] view plaincopyprint?
  1. echo $this->clips['clipID'];  

如果$this 指向的不是Controller,而是某个Widget,可以使用

[php] view plaincopyprint?
  1. echo $this->getController()->clips['clipID'];  

使用ClipWidget 的方法如下,

[php] view plaincopyprint?
  1. <div class="form">  
  2. <?php $form=$this->beginWidget('CClipWidget',  
  3. array('id'=>'record')); ?>  
  4.   
  5.     <?php echo 'This is first line'; ?>  
  6.     <br />  
  7.     <?php echo 'This is second line'; ?>  
  8.     <br />  
  9.     <?php echo 'This is third line'; ?>  
  10.   
  11. <?php $this->endWidget(); ?>  
  12.   
  13. <?php  echo $this->clips['record'];  ?>  
  14. <p>-----------</p>  
  15. <?php  echo $this->clips['record'];  ?>  
  16. </div><!-- form -->  

首先也是定义Clip,这是通过beginWidget 和 endWidget 来定义,clip 的ID由参数id 传入。然后就可以调用echo $this->clips['record']; 在需要的地方显示这段录制的内容。beginWidget 和 endWidget之间的内容可以根据需要自定义,本例显示三行文字。
显示结果如下:

201212123002

本例下载

0 0
原创粉丝点击