Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

52 lines (49 sloc) 1.281 kb
<?php
/**
* CClipWidget class file.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link http://www.yiiframework.com/
* @copyright 2008-2013 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
/**
* CClipWidget records its content and makes it available elsewhere.
*
* Content rendered between its {@link init()} and {@link run()} calls are saved
* as a clip in the controller. The clip is named after the widget ID.
*
* See {@link CBaseController::beginClip} and {@link CBaseController::endClip}
* for a shortcut usage of CClipWidget.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @package system.web.widgets
* @since 1.0
*/
class CClipWidget extends CWidget
{
/**
* @var boolean whether to render the clip content in place. Defaults to false,
* meaning the captured clip will not be displayed.
*/
public $renderClip=false;
/**
* Starts recording a clip.
*/
public function init()
{
ob_start();
ob_implicit_flush(false);
}
/**
* Ends recording a clip.
* This method stops output buffering and saves the rendering result as a named clip in the controller.
*/
public function run()
{
$clip=ob_get_clean();
if($this->renderClip)
echo $clip;
$this->getController()->getClips()->add($this->getId(),$clip);
}
}
Jump to Line
Something went wrong with that request. Please try again.