sergmoro1 / yii2-blog-tools
Blog tools. Posts, Authors, Users, Tags, Rubrics, Comments backend SBAdmin-panel management.
Installs: 191
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- php: >=5.4.0
- creocoder/yii2-nested-sets: ^0.9.0
- hiqdev/yii2-asset-select2: ^4.0
- mrssoft/yii2-sitemap: ^1.1
- notgosu/yii2-meta-tag-module: ^1.0
- sergmoro1/yii2-comment: ^1.0
- sergmoro1/yii2-feed: ^1.0
- vova07/yii2-imperavi-widget: *
- yiisoft/yii2: *
README
Ordinary management system for posts. Can be used as a base for any app.
Advantages
- Posts, nested set rubrics, tags, users, authors;
- Comments management, update, reply;
- Imperavi redactor;
- Files & images uploading, photos chain for carousel slider;
- User registration with email confirmation or by network account;
- RBAC.
Installation
- Install package
The preferred way to install this extension is through composer.
Either run
composer require --prefer-dist sergmoro1/yii2-blog-tools
or add
"sergmoro1/yii2-blog-tools": "^1.1"
to the require section of your composer.json.
- Git init
git init
- Configuring migrations
Add information about migration folders with namespace
to console\config\main.php
in controllerMap
section.
'controllerMap' => [ 'migrate' => [ 'class' => 'yii\console\controllers\MigrateController', 'migrationNamespaces' => [ 'sergmoro1\uploader\migrations', 'sergmoro1\lookup\migrations', 'sergmoro1\user\migrations', 'sergmoro1\blog\migrations', 'sergmoro1\comment\migrations', ], ], ],
- Run migrations
php yii migrate
php yii migrate --migrationPath=@vendor/notgosu/yii2-meta-tag-module/src/migrations
- Init blog
Copy predefined files to appropriate folders by batch file initblog
.
To get it make a command in app directory.
cp ./vendor/sergmoro1/yii2-blog-tools/src/initblog ./
And run a batch file.
php initblog
Set the folder as writable to store the uploaded files.
chmod -R 777 ./frontend/web/files
Configuration
Set up in backend/config/main.php
.
return [ 'defaultRoute' => '/blog/site/index', 'layoutPath' => '@vendor/sergmoro1/yii2-blog-tools/src/views/layouts', 'modules' => [ 'uploader' => ['class' => 'sergmoro1\uploader\Module'], ], 'components' => [ 'authManager' => [ 'class' => 'yii\rbac\PhpManager', 'defaultRoles' => ['commentator', 'author', 'admin'], 'itemFile' => __DIR__ . '/../../console/rbac/items.php', 'ruleFile' => __DIR__ . '/../../console/rbac/rules.php', ], 'user' => [ 'class' => 'yii\web\User', 'identityClass' => 'common\models\User', 'enableAutoLogin' => true, 'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true], ], 'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'showScriptName' => false, 'enableStrictParsing' => false, ], 'errorHandler' => [ 'errorAction' => '/blog/site/error', ], ], ];
Set up in common/config/main.php
.
return [ 'language' => 'ru-RU', // 'en-US', 'bootstrap' => [ 'blog', 'comment', ], 'modules' => [ 'lookup' => ['class' => 'sergmoro1\lookup\Module'], 'blog' => ['class' => 'sergmoro1\blog\Module'], 'comment' => ['class' => 'sergmoro1\comment\Module'], 'user' => ['class' => 'sergmoro1\user\Module'], 'seo' => ['class' => 'notgosu\yii2\modules\metaTag\Module'], ], 'components' => [ 'authManager' => [ 'class' => 'yii\rbac\PhpManager', ], 'user' => [ 'class' => 'yii\web\User', ], 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'useFileTransport' => false, 'viewPath' => '@vendor/sergmoro1/yii2-user/src/mail', /* Definition of Yandex post office for your domain (example). 'transport' => [ 'class' => 'Swift_SmtpTransport', 'host' => 'smtp.yandex.ru', 'username' => 'admin@your-site.ru', 'password' => 'your-password', 'port' => '465', 'encryption' => 'ssl', ], */ ], 'i18n' => [ 'translations' => [ 'app*' => [ 'class' => 'yii\i18n\PhpMessageSource', 'basePath' => '@app/../messages', 'sourceLanguage' => 'en-US', 'fileMap' => [ 'app' => 'app.php', 'app/error' => 'error.php', ], ], 'metaTag' => [ 'class' => 'yii\i18n\PhpMessageSource', ], // sergmoro1/user/models/LoginForm is used in frontend/controllers/SiteController, so // it is not used within the Module then translation should be defined twice // here and in a sergmoro1/user/Module::registerTranslations() 'sergmoro1/user/*' => [ 'class' => 'yii\i18n\PhpMessageSource', 'sourceLanguage' => 'en-US', 'basePath' => '@vendor/sergmoro1/yii2-user/src/messages', 'fileMap' => [ 'sergmoro1/user/core' => 'core.php', ], ], ], ], ], ];
Set up in common/config/params-local.php
.
return [ // localhost or real host 'frontend' => 'http://localhost', ];
Don't forget add .htaccess
file to backend/web
and frontend/web
.
Start
Enter http://your-app/backend/web
and Login
.
Name: Admin
Password: 123456