zoukankan      html  css  js  c++  java
  • 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提供的方法。

  • 相关阅读:
    bzoj 2784: [JLOI2012]时间流逝【树形期望dp】
    bzoj 3566: [SHOI2014]概率充电器【树形概率dp】
    bzoj 5277: [Usaco2018 Open]Out of Sorts【冒泡排序瞎搞】
    【04】在 PR 中关闭 issue
    【03】代码格式化+高亮
    【02】粘贴图像
    【01】在 Github 上编辑代码
    【02】GitHub 工具 Octotree
    【01】恶趣味玩转 GitHub commit 历史记录
    【07】Firebug监控网络情况
  • 原文地址:https://www.cnblogs.com/zqifa/p/yii2-2.html
Copyright © 2011-2022 走看看