1、js文件加载顺序问题
在视图中引用js文件的时候,使用到jquery会报错,因为自定义的js文件在jquery之前被引入了。
由于jquery,bootstrap是在AppAsset中全局引入的,默认是放在最后,很坑
在AppAsset中加入如下代码,可以让jquery在head部分引入,解决这个问题,不知道有没有其他更好的方法
public $jsOptions = [
‘position‘=> \yii\web\View::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‘)) ?>
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)],
],
]); ?>
当然做的时候其实可以自己写前端代码,也不用全部使用yii2提供的方法。