Browse Source

renamed clip to block.

tags/2.0.0-beta
Qiang Xue 12 years ago
parent
commit
5cd7961a38
  1. 26
      framework/base/View.php
  2. 86
      framework/base/ViewContent.php
  3. 24
      framework/widgets/Block.php

26
framework/base/View.php

@ -53,11 +53,12 @@ class View extends Component
*/ */
public $theme; public $theme;
/** /**
* @var array a list of named output clips. You can call [[beginClip()]] and [[endClip()]] * @var array a list of named output blocks. The keys are the block names and the values
* are the corresponding block content. You can call [[beginBlock()]] and [[endBlock()]]
* to capture small fragments of a view. They can be later accessed at somewhere else * to capture small fragments of a view. They can be later accessed at somewhere else
* through this property. * through this property.
*/ */
public $clips; public $blocks;
/** /**
* @var Widget[] the widgets that are currently being rendered (not ended). This property * @var Widget[] the widgets that are currently being rendered (not ended). This property
* is maintained by [[beginWidget()]] and [[endWidget()]] methods. Do not modify it. * is maintained by [[beginWidget()]] and [[endWidget()]] methods. Do not modify it.
@ -350,26 +351,25 @@ class View extends Component
} }
/** /**
* Begins recording a clip. * Begins recording a block.
* This method is a shortcut to beginning [[yii\widgets\Clip]] * This method is a shortcut to beginning [[yii\widgets\Block]]
* @param string $id the clip ID. * @param string $id the block ID.
* @param boolean $renderInPlace whether to render the clip content in place. * @param boolean $renderInPlace whether to render the block content in place.
* Defaults to false, meaning the captured clip will not be displayed. * Defaults to false, meaning the captured block will not be displayed.
* @return \yii\widgets\Clip the Clip widget instance * @return \yii\widgets\Block the Block widget instance
* @see \yii\widgets\Clip
*/ */
public function beginClip($id, $renderInPlace = false) public function beginBlock($id, $renderInPlace = false)
{ {
return $this->beginWidget('yii\widgets\Clip', array( return $this->beginWidget('yii\widgets\Block', array(
'id' => $id, 'id' => $id,
'renderInPlace' => $renderInPlace, 'renderInPlace' => $renderInPlace,
)); ));
} }
/** /**
* Ends recording a clip. * Ends recording a block.
*/ */
public function endClip() public function endBlock()
{ {
$this->endWidget(); $this->endWidget();
} }

86
framework/base/ViewContent.php

@ -49,9 +49,13 @@ class ViewContent extends Component
public $metaTags; public $metaTags;
public $linkTags; public $linkTags;
public $css; public $css;
public $js;
public $cssFiles; public $cssFiles;
public $js;
public $jsFiles; public $jsFiles;
public $jsInHead;
public $jsFilesInHead;
public $jsInBody;
public $jsFilesInBody;
public function populate($content) public function populate($content)
{ {
@ -64,86 +68,16 @@ class ViewContent extends Component
$this->metaTags = null; $this->metaTags = null;
$this->linkTags = null; $this->linkTags = null;
$this->css = null; $this->css = null;
$this->js = null;
$this->cssFiles = null; $this->cssFiles = null;
$this->js = null;
$this->jsFiles = null; $this->jsFiles = null;
$this->jsInHead = null;
$this->jsFilesInHead = null;
$this->jsInBody = null;
$this->jsFilesInBody = null;
} }
public function renderScripts($pos) public function renderScripts($pos)
{ {
} }
public function registerBundle($name)
{
if (!isset($this->bundles[$name])) {
$am = Yii::$app->assets;
$bundle = $am->getBundle($name);
if ($bundle !== null) {
$this->bundles[$name] = $bundle;
} else {
throw new InvalidConfigException("Asset bundle does not exist: $name");
}
}
}
public function getMetaTag($key)
{
return isset($this->metaTags[$key]) ? $this->metaTags[$key] : null;
}
public function setMetaTag($key, $tag)
{
$this->metaTags[$key] = $tag;
}
public function getLinkTag($key)
{
return isset($this->linkTags[$key]) ? $this->linkTags[$key] : null;
}
public function setLinkTag($key, $tag)
{
$this->linkTags[$key] = $tag;
}
public function getCss($key)
{
return isset($this->css[$key]) ? $this->css[$key]: null;
}
public function setCss($key, $css)
{
$this->css[$key] = $css;
}
public function getCssFile($key)
{
return isset($this->cssFiles[$key]) ? $this->cssFiles[$key]: null;
}
public function setCssFile($key, $file)
{
$this->cssFiles[$key] = $file;
}
public function getJs($key, $position = self::POS_END)
{
return isset($this->js[$position][$key]) ? $this->js[$position][$key] : null;
}
public function setJs($key, $js, $position = self::POS_END)
{
$this->js[$position][$key] = $js;
}
public function getJsFile($key, $position = self::POS_END)
{
return isset($this->jsFiles[$position][$key]) ? $this->jsFiles[$position][$key] : null;
}
public function setJsFile($key, $file, $position = self::POS_END)
{
$this->jsFiles[$position][$key] = $file;
}
} }

24
framework/widgets/Clip.php → framework/widgets/Block.php

@ -7,28 +7,26 @@
namespace yii\widgets; namespace yii\widgets;
use Yii;
use yii\base\Widget; use yii\base\Widget;
use yii\base\View;
/** /**
* @author Qiang Xue <qiang.xue@gmail.com> * @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0 * @since 2.0
*/ */
class Clip extends Widget class Block extends Widget
{ {
/** /**
* @var string the ID of this clip. * @var string the ID of this block.
*/ */
public $id; public $id;
/** /**
* @var boolean whether to render the clip content in place. Defaults to false, * @var boolean whether to render the block content in place. Defaults to false,
* meaning the captured clip will not be displayed. * meaning the captured block content will not be displayed.
*/ */
public $renderInPlace = false; public $renderInPlace = false;
/** /**
* Starts recording a clip. * Starts recording a block.
*/ */
public function init() public function init()
{ {
@ -37,15 +35,15 @@ class Clip extends Widget
} }
/** /**
* Ends recording a clip. * Ends recording a block.
* This method stops output buffering and saves the rendering result as a named clip in the controller. * This method stops output buffering and saves the rendering result as a named block in the controller.
*/ */
public function run() public function run()
{ {
$clip = ob_get_clean(); $block = ob_get_clean();
if ($this->renderClip) { if ($this->renderInPlace) {
echo $clip; echo $block;
} }
$this->view->clips[$this->id] = $clip; $this->view->blocks[$this->id] = $block;
} }
} }
Loading…
Cancel
Save