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;
/**
* @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
* through this property.
*/
public $clips;
public $blocks;
/**
* @var Widget[] the widgets that are currently being rendered (not ended). This property
* is maintained by [[beginWidget()]] and [[endWidget()]] methods. Do not modify it.
@ -350,26 +351,25 @@ class View extends Component
}
/**
* Begins recording a clip.
* This method is a shortcut to beginning [[yii\widgets\Clip]]
* @param string $id the clip ID.
* @param boolean $renderInPlace whether to render the clip content in place.
* Defaults to false, meaning the captured clip will not be displayed.
* @return \yii\widgets\Clip the Clip widget instance
* @see \yii\widgets\Clip
* Begins recording a block.
* This method is a shortcut to beginning [[yii\widgets\Block]]
* @param string $id the block ID.
* @param boolean $renderInPlace whether to render the block content in place.
* Defaults to false, meaning the captured block will not be displayed.
* @return \yii\widgets\Block the Block widget instance
*/
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,
'renderInPlace' => $renderInPlace,
));
}
/**
* Ends recording a clip.
* Ends recording a block.
*/
public function endClip()
public function endBlock()
{
$this->endWidget();
}

86
framework/base/ViewContent.php

@ -49,9 +49,13 @@ class ViewContent extends Component
public $metaTags;
public $linkTags;
public $css;
public $js;
public $cssFiles;
public $js;
public $jsFiles;
public $jsInHead;
public $jsFilesInHead;
public $jsInBody;
public $jsFilesInBody;
public function populate($content)
{
@ -64,86 +68,16 @@ class ViewContent extends Component
$this->metaTags = null;
$this->linkTags = null;
$this->css = null;
$this->js = null;
$this->cssFiles = null;
$this->js = null;
$this->jsFiles = null;
$this->jsInHead = null;
$this->jsFilesInHead = null;
$this->jsInBody = null;
$this->jsFilesInBody = null;
}
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;
use Yii;
use yii\base\Widget;
use yii\base\View;
/**
* @author Qiang Xue <qiang.xue@gmail.com>
* @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;
/**
* @var boolean whether to render the clip content in place. Defaults to false,
* meaning the captured clip will not be displayed.
* @var boolean whether to render the block content in place. Defaults to false,
* meaning the captured block content will not be displayed.
*/
public $renderInPlace = false;
/**
* Starts recording a clip.
* Starts recording a block.
*/
public function init()
{
@ -37,15 +35,15 @@ class Clip extends Widget
}
/**
* Ends recording a clip.
* This method stops output buffering and saves the rendering result as a named clip in the controller.
* Ends recording a block.
* This method stops output buffering and saves the rendering result as a named block in the controller.
*/
public function run()
{
$clip = ob_get_clean();
if ($this->renderClip) {
echo $clip;
$block = ob_get_clean();
if ($this->renderInPlace) {
echo $block;
}
$this->view->clips[$this->id] = $clip;
$this->view->blocks[$this->id] = $block;
}
}
Loading…
Cancel
Save