mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-04 06:37:55 +08:00 
			
		
		
		
	renamed clip to block.
This commit is contained in:
		@ -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();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -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;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user