本文作者:心月

YII2高级版框架搭建完整博客系统教程——获取文章分类

心月IT博客 2019-03-13
YII2高级版框架搭建完整博客系统教程——获取文章分类摘要:在添加文章的时候,文章的分类通常是可以选择的,而上一篇文章实现的文章创建功能似乎不能选择,需要自己手动输入,这非常不方便,不方便管理也不方便阅读。今天,这里就教教大家如何在创建文章中获取文章的分类。

在添加文章的时候,文章的分类通常是可以选择的,而上一篇文章实现的文章创建功能似乎不能选择,需要自己手动输入,这非常不方便,不方便管理也不方便阅读。今天,这里就教教大家如何在创建文章中获取文章的分类。

文章分类获取

1、用gii创建CatsModel,与用gii创建PostsModel的操作一样(创建好之后记得修改CatsModel的继承类为BasesModel)

2.jpg

2、在CatsModel中添加一个获取所有分类的静态方法

获取所有分类的静态方法

public static function getAllCats()
{
    $cat = ['0' => '暂无分类'];
    $res = self::find()->asArray()->all();

    if ($res){
        foreach ($res as $k=>$list){
            $cat[$list['id']] = $list['cat_name'];
        }
    }
    
    return $cat;
}

3、在PostsController控制器actionCreate方法中调用获取所有分类的静态方法,然后将获取到的分类渲染给create.php页面

控制器中获取所有分类

/**
 * 文章创建
 */
public function actionCreate()
{
    $model = new PostsForm();
    //获取所有分类
    $cat = CatsModel::getAllCats();
    return $this -> render('create',['model' => $model,'cat' => $cat]);

}

4、修改渲染页面,把分类改为下拉选择的形式

#修改页面 frontend/views/posts/create.php

<?= $form->field($model,'cat_id')->dropDownList($cat) ?>

所有分类页面渲染

获取所有分类后的分类选择效果:

获取所有分类后的分类选择效果


文章版权及转载声明:

本文由 心月IT技术博客 博主整理于 2019-03-13
若转载请注明原文及出处:https://www.xinyueseo.com/yii/178.html

分享到:
赞(
发表评论
快捷输入:

验证码

    评论列表 (有 0 条评论,人围观)参与讨论