• yii2 笔记(1)


    1、js文件加载顺序问题

    在视图中引用js文件的时候,使用到jquery会报错,因为自定义的js文件在jquery之前被引入了。

    由于jquery,bootstrap是在AppAsset中全局引入的,默认是放在最后,很坑

    在AppAsset中加入如下代码,可以让jquery在head部分引入,解决这个问题,不知道有没有其他更好的方法

    public $jsOptions = [
    'position'=> yiiwebView::POS_HEAD
    ];

    2、使用下拉框

    cateList是栏目数组,id为select选项value,title为文字

    <?php echo $form->field($model, 'cate')->dropDownList(ArrayHelper::map($cateList,'id', 'title')) ?>

    <?php echo Html::dropDownList('cate', null, ArrayHelper::map($data,'id', 'val'), ['class' => 'dropdownlist']); ?>

    <?php echo $form->field($model, 'cate')->dropDownList(ArrayHelper::map(Cate::find()->asArray()->all(),'id', 'val')) ?>

    添加默认值

    <?php echo $form->field($model, 'cate')->dropDownList(ArrayHelper::map(Cate::find()->asArray()->all(),'id', 'val'),['prompt'=>'select...']) ?>

    3、DetailView输出自定义样式和处理数据

    create_at为模型数据表的创建时间戳,转换为时间格式输出

    <?php echo DetailView::widget([
    'model' => $model,
    'attributes' => [
    'id',
    //'create_at:datetime',
    ['label'=>'创建时间','value'=>date("Y-m-d H:i:s",$model->create_at)],
    ],
    ]); ?>

    4、使用DataProvider进行分页

    在search Model的search()方法里有一个$dataProvider 属性 ,在这个属性数组里添加
    'pagination' => ['pageSize' => 10,],

    例如
    $dataProvider = new ActiveDataProvider([
    'query' => $query,
    'pagination' => [
    'pagesize' => 3,
    ]
    ]);

    当然做的时候其实可以自己写前端代码,也不用全部使用yii2提供的方法。

  • 相关阅读:
    专题一 Java基础语法
    IOC属于那种设计模式?
    java桌面应用开发
    Gitblit
    基于JSoup库的java爬虫开发学习——小步快跑
    tomcat和solr的整合——小步快跑
    SSM mapper文件SQL语句里面的 小于号 Tag name expected 无法识别解读
    Java从FTP服务器中获取PDF文件数据
    idea 控制台log日志中文乱码解决方案
    Java开发文档Swagger的使用详细教程
  • 原文地址:https://www.cnblogs.com/zqifa/p/yii2-2.html
Copyright © 2020-2023  润新知