Yii2 Articles to create, manage, and delete articles in a Yii2 site.
The preferred way to install this extension is through composer.
Either run
$ php composer.phar require cinghie/yii2-articles "*"
or add
"cinghie/yii2-articles": "*"
Copy img folder to your webroot
Make sure that you have properly configured db
application component.
Make sure that you have an user with id=1.
Run the following command:
$ php yii migrate/up --migrationPath=@vendor/cinghie/yii2-articles/migrations
Set on your configuration file, in modules section
'modules' => [
// Module Articles
'articles' => [
'class' => 'cinghie\articles\Articles',
'userClass' => 'dektrium\user\models\User',
// Select Languages allowed
'languages' => [
"it-IT" => "it-IT",
"en-GB" => "en-GB"
],
// Select Default Language
'languageAll' => 'it-IT',
// Select Date Format
'dateFormat' => 'd F Y',
// Select Editor: no-editor, ckeditor, imperavi, markdown, tinymce
'editor' => 'ckeditor',
// Select Path To Upload Category Image
'categoryImagePath' => '@webroot/img/articles/categories/',
// Select URL To Upload Category Image
'categoryImageURL' => '@web/img/articles/categories/',
// Select Path To Upload Category Thumb
'categoryThumbPath' => '@webroot/img/articles/categories/thumb/',
// Select URL To Upload Category Image
'categoryThumbURL' => '@web/img/articles/categories/thumb/',
// Select Path To Upload Item Image
'itemImagePath' => '@webroot/img/articles/items/',
// Select URL To Upload Item Image
'itemImageURL' => '@web/img/articles/items/',
// Select Path To Upload Item Thumb
'itemThumbPath' => '@webroot/img/articles/items/thumb/',
// Select URL To Upload Item Thumb
'itemThumbURL' => '@web/img/articles/items/thumb/',
// Select Path To Upload Attachments
'attachPath' => '@webroot/attachments/',
// Select URL To Upload Attachment
'attachURL' => '@web/img/articles/items/',
// Select Image Types allowed
'attachType' => ['jpg','jpeg','gif','png','csv','pdf','txt','doc','docs'],
// Select Image Name: categoryname, original, casual
'imageNameType' => 'categoryname',
// Select Image Types allowed
'imageType' => ['png','jpg','jpeg'],
// Thumbnails Options
'thumbOptions' => [
'small' => ['quality' => 100, 'width' => 150, 'height' => 100],
'medium' => ['quality' => 100, 'width' => 200, 'height' => 150],
'large' => ['quality' => 100, 'width' => 300, 'height' => 250],
'extra' => ['quality' => 100, 'width' => 400, 'height' => 350],
],
// Slugify Options
$slugifyOptions = [
'separator' => '-',
'lowercase' => true,
'trim' => true,
'rulesets' => [
'default'
]
],
// Show Titles in the views
'showTitles' => true,
],
],
]
To use easily this extension is strongly recommended install and config dektrium/yii2-user to manage user
and dektrium/yii2-rbac to manage auth permission
INSERT INTO `PREFIX_auth_assignment` (`item_name`, `user_id`, `created_at`) VALUES
('admin', 'YUOR_USER_ID', 1451514052);
Override PREFIX_ with your tables prefix and YUOR_USER_ID with your user_id. For example:
INSERT INTO `auth_assignment` (`item_name`, `user_id`, `created_at`) VALUES
('admin', '1', 1451514052);
Advanced Template recommended configuration
'components' => [
// Url Manager
'urlManager' => [
'class' => 'codemix\localeurls\UrlManager',
// All languages including the default language
'languages' => ['it', 'en'],
// The default language is now treated like any other configured language
'enableDefaultLanguageUrlCode' => true,
// Disable index.php
'showScriptName' => false,
// Disable r= routes
'enablePrettyUrl' => true,
// Disable site/ from the URL
'rules' => [
'<alias:index|about|contact>' => 'site/<alias>',
'<id:\d+>/<alias:[A-Za-z0-9 -_.]+>' => 'articles/categories/view',
'<cat>/<id:\d+>/<alias:[A-Za-z0-9 -_.]+>' => 'articles/items/view',
'<tags>/<id:\d+>/<alias:[A-Za-z0-9 -_.]+>' => 'articles/tags/view'
],
],
],
If you have a Yii2 App Advanced (frontend/backend) you can exclude frontend actions
'modules' => [
'articles' => [
'class' => 'cinghie\articles\Articles',
'as frontend' => 'cinghie\articles\filters\FrontendFilter',
]
],
Override controller example, on modules config
'modules' => [
'articles' => [
'class' => 'cinghie\articles\Articles',
'controllerMap' => [
'items' => 'app\controllers\MyItemsController'
]
]
],
Override models example, on modules config
'modules' => [
'articles' => [
'class' => 'cinghie\articles\Articles',
'modelMap' => [
'Items' => 'app\models\MyItemsModel'
]
]
],
Override view example, on components config
'components' => [
'view' => [
'theme' => [
'pathMap' => [
'@cinghie/articles/views/items' => '@app/views/articles/items',
],
],
],
],
Override examples can be found on overrides folder
create | publish | update | delete | index | view | |
---|---|---|---|---|---|---|
admin | yes | all | all | all | yes | yes |
editor | yes | all | all | his | yes | yes |
publisher | yes | his | his | no | his | yes |
author | yes | no | his | no | his | yes |
create | publish | update | delete | index | view | |
---|---|---|---|---|---|---|
admin | yes | yes | yes | yes | yes | yes |
editor | yes | no | yes | no | yes | yes |
publisher | no | no | no | no | yes | yes |
author | no | no | no | no | yes | yes |
create | publish | update | index | delete | |
---|---|---|---|---|---|
admin | yes | yes | yes | yes | yes |
editor | yes | yes | yes | yes | yes |
publisher | yes | yes | yes | yes | no |
author | yes | no | no | no | no |
The migrations add to the database 4 types of users:
Comments