首先
先添加一个widgets,代码如下(提示:使用时注意修改命名空间)
<?php /** * User: yiqing * Date: 14-9-15 * Time: 下午12:09 */ namespace yearwidgets; use yiiwebView ; use yiiwidgetsBlock ; class JsBlock extends Block{ /** * @var null */ public $key = null; /** * @var int */ public $pos = View::POS_END ; /** * 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) ; /* $jsBlockPattern = '|^<script[^>]*>(.+?)</script>$|is'; if(preg_match($jsBlockPattern,$block)){ $block = preg_replace ( $jsBlockPattern , '${1}' , $block ); } */ $jsBlockPattern = '|^<script[^>]*>(?P<block_content>.+?)</script>$|is'; if(preg_match($jsBlockPattern,$block,$matches)){ $block = $matches['block_content']; } $this->view->registerJs($block, $this->pos,$this->key) ; } }
使用
示例如下:
<?php yearwidgetsJsBlock::begin() ?> <script > $(function(){ jQuery(".company_introduce").slide({mainCell:".bd ul",effect:"left",autoPlay:true,mouseOverStop:true}); }); </script> <?php yearwidgetsJsBlock::end()?>
总结
为什么要这么写?
这样写的好处有两个,有代码提示和有代码高亮!!