1. Go to this page and download the library: Download davidxu/yii2-adminlte4 library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
class BaseController extends \davidxu\adminlte4\controllers\BaseController
{
/**
* @return void
*/
public function init(): void
{
parent::init();
}
}
use backend\models\Article;
use davidxu\adminlte4\enums\StatusEnum;
use davidxu\adminlte4\helpers\ActionHelper;
use davidxu\adminlte4\widgets\SweetAlert2;
use yii\data\ActiveDataProvider;
use yii\db\ActiveRecordInterface;
use yii\web\BadRequestHttpException;
use yii\base\ExitException;
use Exception;
class ArticleController extends \davidxu\adminlte4\controllers\BaseController
{
public ActiveRecordInterface|string|null $modelClass = Article::class;
/**
* @return array
*/
public function actions(): array
{
$actions = parent::actions();
unset($actions['ajax-edit'], $actions['edit']);
return $actions;
}
/**
* Lists all Article models.
*
* @return string
*/
public function actionIndex(): string
{
$dataProvider = new ActiveDataProvider([
'query' => $this->modelClass::find(),
'sort' => [
'defaultOrder' => [
'order' => SORT_ASC,
]
],
]);
return $this->render('index', [
'dataProvider' => $dataProvider,
]);
}
/**
* @throws BadRequestHttpException|ExitException|Exception
*/
public function actionAjaxEdit()
{
$id = Yii::$app->request->get('id', 0);
$model = $this->findModel($id, $this->modelClass);
ActionHelper::activeFormValidate($model);
if ($model->load(Yii::$app->request->post())) {
if ($model->save()) {
return ActionHelper::message(Yii::t('app', 'Saved successfully'),
$this->redirect(Yii::$app->request->referrer));
}
return ActionHelper::message(ActionHelper::getError($model),
$this->redirect(Yii::$app->request->referrer), SweetAlert2::TYPE_ERROR);
}
return $this->renderAjax($this->action->id, [
'model' => $model,
]);
}
/**
* @return mixed
* @throws BadRequestHttpException
* @throws Exception
*/
public function actionEdit(): mixed
{
$id = Yii::$app->request->get('id', 0);
$model = $this->findModel($id, $this->modelClass);
if ($model->load(Yii::$app->request->post())) {
if ($model->save()) {
return ActionHelper::message(Yii::t('app', 'Saved successfully'),
$this->redirect(Yii::$app->request->referrer));
}
return ActionHelper::message(ActionHelper::getError($model),
$this->redirect(Yii::$app->request->referrer), SweetAlert2::TYPE_ERROR);
}
return $this->render($this->action->id, [
'model' => $model,
]);
}
}
// article index
use backend\models\Article;
use common\enums\CategoryTypeEnum;
use davidxu\adminlte4\enums\ModalSizeEnum;
use davidxu\adminlte4\enums\StatusEnum;
use yii\data\ActiveDataProvider;
use davidxu\adminlte4\yii\grid\ActionColumn;
use yii\grid\GridView;
use yii\widgets\Pjax;
use davidxu\adminlte4\helpers\HtmlHelper;
/**
* @var $dataProvider ActiveDataProvider
*/
$this->title = Yii::t('app', 'Content management');
$this->params['breadcrumbs'][] = $this->title;