本文作者:心月

YII2高级版框架搭建完整博客系统教程——后台文章管理

心月IT博客 2019-03-22
YII2高级版框架搭建完整博客系统教程——后台文章管理摘要:后台管理前台会员发布的文章,可以通过YII2自带攻击gii中的crud生成,既方便又省事。

后台管理前台会员发布的文章,可以通过YII2自带攻击gii中的crud生成,既方便又省事。

gii crud生成后台文章管理功能


修改后台文章列表显示界面,将不需要显示的去掉,同时做语言包映射将英文内容改为中文显示。

文章列表界面修改(backend/views/posts/index.php),修改后的代码:

<?php

use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\Url;

/* @var $this yii\web\View */
/* @var $searchModel common\models\PostsSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */

$this->title = '文章列表';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="posts-model-index">

    <h1><?= Html::encode($this->title) ?></h1>
    <?php // echo $this->render('_search', ['model' => $searchModel]); ?>


    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],

            'id',
            'title'=>[
                'attribute'=>'title',
                'format'=>'raw',
                'value'=>function($model){
                    return '<a href="http://frontend2.yii.com'.Url::to(['posts/view','id'=>$model->id]).'">'.$model->title.'</a>';
                }
            ],
            //'summary',
            //'content:ntext',
            //'label_img',
            'cat.cat_name',
            //'user_id',
            'user_name',
            'is_valid'=>[
                'attribute'=>'is_valid',
                'value'=>function($model){
                    return ($model->is_valid==1) ? '发布':'审核';
                },
                'filter'=>['0'=>'审核','1'=>'发布'],
            ],
            'created_at:datetime',
            //'updated_at',

            ['class' => 'yii\grid\ActionColumn'],
        ],
    ]); ?>
</div>

后台文章列表

语言包映射:(语言包映射需要配置)

/**
 * @inheritdoc
 */
public function attributeLabels()
{
    return [
        'id' => Yii::t('common', 'id'),//不配置语言包也可以直接在这里设置对应的中文
        'title' => Yii::t('common', 'title'),
        'summary' => Yii::t('common', 'summary'),
        'content' => Yii::t('common', 'content'),
        'label_img' => Yii::t('common', 'label_img'),
        'cat_id' => Yii::t('common', 'cat_id'),
        'user_id' => Yii::t('common', 'user_id'),
        'user_name' => Yii::t('common', 'user_name'),
        'is_valid' => Yii::t('common', 'is_valid'),
        'created_at' => Yii::t('common', 'created_at'),
        'updated_at' => Yii::t('common', 'updated_at'),
    ];
}

语言包映射

通过关联关系获取文章分类

/**
 * 获取文章分类关联
 * @return \yii\db\ActiveQuery
 */
public function getCat()
{
    return $this->hasOne(CatsModel::className(),['id'=>'cat_id']);
}

获取文章分类关联

文章修改调整

<div class="posts-model-form">

    <?php $form = ActiveForm::begin(); ?>

    <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?>

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

    <?= $form->field($model, 'is_valid')->dropDownList(['0'=>'审核','1'=>'发布']) ?>


    <div class="form-group">
        <?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?>
    </div>

    <?php ActiveForm::end(); ?>

</div>

文章update页面表单调整

后台界面效果:

后台文章修改界面


文章版权及转载声明:

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

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

验证码

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