风
- 风 提出了问题Yii2 中 JS 报错的问题
- 风 赞了回答
$sort = new Sort([ 'attributes' => [ 'id' => [ 'desc' => ['id'=>SORT_DESC], 'asc' => ['id'=>SORT_ASC], 'default' => SORT_DESC, 'label' =>'#Id', ], 'hot' => [ 'asc' => ['hot'=>SORT_ASC], 'desc' => ['hot'=>SORT_DESC], 'label' =>'#即时热度', ], 'add_hot' => [ 'asc' => ['add_hot'=>SORT_ASC], 'desc' => ['add_hot'=>SORT_DESC], 'label' =>'#增减热度', ], ], 'defaultOrder' => ['id' => SORT_DESC], // 看这里看这里看这里,重要的话说三遍 ]);
- 风 赞了扩展Yii2-ueditor-widget
- 风 赞了回答
首先你得知道widget是干什么的,小挂件可以由自己的view,我们可以自由的定义,
例如:在如下地方建/home/tann/website/dev_yii/shop/protected/widget/test,
我们可以把网站的一些经常用到的重复性的东西提取出来,做成widget,提高复用性。
然后建文件/home/tann/website/dev_yii/shop/protected/widget/test/testWidget.php
<?php
/**- Created by PhpStorm.
- User: tann
- Date: 14-8-13
- Time: 上午10:45
*/
/**
- test widget
- widget类的使用类似Controller,也可以有自己的view
*/
class registerWidget extends CWidget
{
public function init(){//当视图中执行$this->beginWidget()时候会执行这个方法 //可以在这里进行查询数据操作 echo '<br>testWidget.init()'.'<br>';
}
public function run(){//当视图中执行$this->endWidget()的时候会执行这个方法 //可以在这里进行渲染试图的操作,注意这里提到的视图是widget的视图 //注意widget的视图是放在跟widget同级的views目录下面,例如下面的视图会放置在 // /protected/widget/test/views/test.php echo 'testWidget.run()'.'<br>'; $this->render('test', array( 'str'=>'WIDGET视图变量', ));
}
}
然后,在视图位置建文件
/home/tann/website/dev_yii/shop/protected/widget/test/views/test.php
widget/test/views/test.php
<?php
echo $str;
?>这样我们就定义好了一个widget
在控制器的视图层做如下调用:
<?php
$this->widget('application.widget.test.testWidget'); //挂件类的路径
/
$this->beginWidget('application.widget.test.testWidget');
$this->endWidget('application.widget.test.testWidget');
/
?>这样我们看到的效果
testWidget.int()
testWidget.run()
widget/test/views/test.php WIDGET视图变量 - 风 2015-07-28 已签到连续签到2天,获得了10个金钱
- 风 2015-07-27 已签到连续签到1天,获得了5个金钱
- 风 赞了回答
这么给你说吧,光指定
sourcePath
,然后把js或者css放到非web目录,YII
就会自动在@webroot/asset
目录生成一个随机文件夹,然后复制js和css文件进去;
如果指定了basePath,则会直接引用源文件,不会把文件复制到@webroot/asset
目录。
比如public $sourcePath = '@common'; public $js = [ 'js/script.js' ];
上面这段代码,在页面源码里引用的时候就是
http://site/frontend/web/asset/1dcef3qr/js/script.js
public $basePath = '@common'; public $js = [ 'js/script.js' ];
而上面这段代码,在页面引用的时候就是
http://site/common/js/script.js
- 风 回答了问题 表单提交,有错误提示时如何只选一次图片
看你的验证规则就知道 了
- 风 2015-07-25 已签到连续签到6天,获得了20个金钱
- 风 2015-07-24 已签到连续签到5天,获得了20个金钱