Устанавливаем зависимость:
composer require yii2module/yii2-article
Объявляем миграции и ссылки в футер:
return [
...
'dee.migration.path' => [
...
'@vendor/yii2bundle/yii2-article/src/domain/migrations',
...
],
...
'article' => [
'links' => [
'about',
'contact',
],
],
...
];
Создаем полномочие:
oArticlePostManage
oArticlePostDelete
Объявляем frontend модуль:
return [
'modules' => [
// ...
'article' => 'yii2bundle\article\web\Module',
'components' => [
...
'urlManager' => [
'rules' => [
...
// ----------------- guide module -----------------
'guide/<project_id>/chapter/<id>'=> 'guide/chapter/view',
'guide/<project_id>/<id>/update'=> 'guide/article/update',
'guide/<project_id>/<id>/delete'=> 'guide/article/delete',
'guide/<project_id>/<id>/code'=> 'guide/article/code',
'guide/<project_id>/<id>'=> 'guide/article/view',
'guide/<project_id>'=> 'guide/article',
...
],
],
...
],
// ...
],
];
Объявляем backend модуль:
return [
'modules' => [
// ...
'article' => [
'class' => 'yii2bundle\article\admin\Module',
'as access' => Config::genAccess(PermissionEnum::ARTICLE_POST_MANAGE),
],
// ...
],
];
Объявляем api модуль:
return [
'modules' => [
// ...
'article' => 'yii2bundle\article\api\Module',
// ...
],
'components' => [
'urlManager' => [
'rules' => [
...
['class' => 'yii\rest\UrlRule', 'controller' => ['v4/article' => 'article/post']],
...
],
],
],
];
Объявляем домен:
return [
'components' => [
// ...
'article' => 'yii2bundle\article\domain\Domain',
// ...
],
];