首先
先添加一个widgets,代码如下(提示:使用时注意修改命名空间)
/**
* User: yiqing
* Date: 2014/12/15
* Time: 0:21
*/
namespace year\widgets;
use yii\widgets\Block;
class CssBlock extends Block
{
/**
* @var null
*/
public $key = null;
/**
* @var array $options the HTML attributes for the style tag.
*/
public $options = [];
/**
* Ends recording a block.
* This method stops output buffering and saves the rendering result as a named block in the view.
*/
public function run()
{
$block = ob_get_clean();
if ($this->renderInPlace) {
throw new \Exception("not implemented yet ! ");
// echo $block;
}
// $block = trim($block) ;
$block = static::unwrapStyleTag($block);
$this->view->registerCss($block, $this->options, $this->key);
}
/**
* @param $cssBlock
* @return string
*/
public static function unwrapStyleTag($cssBlock)
{
$block = trim($cssBlock);
/*
$jsBlockPattern = '|^$|is';
if(preg_match($jsBlockPattern,$block)){
$block = preg_replace ( $jsBlockPattern , '${1}' , $block );
}
*/
$cssBlockPattern = '|^$|is';
if (preg_match($cssBlockPattern, $block, $matches)) {
$block = $matches['block_content'];
}
return $block;
}
}
使用
示例如下:
.fr {
float: right;
}
.mt10 {
margin-top: 10px;
}
.mt15 {
margin-top: 15px;
}
总结
为什么要这么写?
这样写的好处有两个,有代码提示和有代码高亮!!
本帖已被设为精华帖!