风

我们都是好孩子

  • 财富值17698
  • 威望值70
  • 总积分21128

个人信息

  • 提出了问题
    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个金钱
副董事长 等级规则
21128/50000
资料完整度
80/100
用户活跃度
0/100

Ta的关注

115

Ta的粉丝

30

Ta的访客

140