1. 调用Widget
<?php $this->widget('WidgetName'); ?>
或者
<?php $widget=$this->beginWidget('path.to.WidgetClass'); ?> ...可能会由小物件获取的内容主体... <?php $this->endWidget(); ?>
也可以传参到Widget类
<?php $userId = 1; ?> <?php $this->widget('WidgetName',array('userId'=>$userId)); ?>
参数userId自动映射到Widget类的同名属性,所以在定义Widget时,别忘记了声明该属性。
2. 创建Widget
自定义Widget类要继承CWidget,覆盖方法run
<?php class MyWidget extends CWidget { public function init() { // 此方法会被 CController::beginWidget() 调用 } public function run() { // 此方法会被 CController::endWidget() 调用 } } ?>
例子:
<?php class HelloWidget extends CWidget { public function run() { $word = 'hello'; $this->render('hello',array( "word"=>$word, )); } } ?>
存储到protected\components\HelloWidget.php
对应的view文件可能的内容如下:
<?php echo $word; ?>
存储到protected\components\views\hello.php
3. 调用该Widget
<?php $this->widget('HelloWidget'); ?>
近期评论