cinghie/yii2-articles

Yii2 Articles - 用于在Yii2网站中创建、管理和删除文章。

安装次数: 2,847

依赖关系: 0

建议者: 0

安全性: 0

星标: 33

关注者: 9

分支: 19

开放问题: 6

类型:yii2-extension

0.6.6 2019-05-09 13:50 UTC

This package is auto-updated.

Last update: 2024-09-06 11:24:12 UTC


README

License Latest Stable Version Latest Release Date Latest Commit Total Downloads

Yii2 Articles - 用于在Yii2网站中创建、管理和删除文章。

  • 创建、编辑和删除文章
  • 带有附件、图片、相册和点击次数的文章
  • 管理类别和子类别
  • 高级访问权限
  • 审批
  • 多语言支持
  • 额外字段管理
  • SEO优化

安装

通过以下方式安装此扩展程序:通过composer

运行以下命令:

$ php composer.phar require cinghie/yii2-articles "*"

或者添加以下内容:

"cinghie/yii2-articles": "*"

配置

1. 图片文件夹

将img文件夹复制到您的webroot

2. 更新yii2 articles数据库模式

确保已正确配置db应用程序组件。
确保有一个id为1的用户。
运行以下命令

$ php yii migrate/up --migrationPath=@vendor/cinghie/yii2-articles/migrations

3. 设置配置文件

在配置文件的模块部分设置

'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,
		],	
	],
	
]

4. 其他配置

为了方便使用此扩展程序,强烈建议安装并配置dektrium/yii2-user来管理用户

安装
配置

以及dektrium/yii2-rbac来管理认证权限

安装

5. 将您的用户添加为管理员

INSERT INTO `PREFIX_auth_assignment` (`item_name`, `user_id`, `created_at`) VALUES
('admin', 'YUOR_USER_ID', 1451514052);

将PREFIX_替换为您的表前缀,将YUOR_USER_ID替换为您的user_id。例如

INSERT INTO `auth_assignment` (`item_name`, `user_id`, `created_at`) VALUES
('admin', '1', 1451514052);

高级模板推荐配置

高级模板推荐配置

URL规则

'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'
        ],
     ],
     
],

过滤器

如果您有一个Yii2 App高级(前端/后端),您可以排除前端操作

'modules' => [ 
	
	'articles' => [ 
		'class' => 'cinghie\articles\Articles',
		'as frontend' => 'cinghie\articles\filters\FrontendFilter',
	]
	
],

覆盖

覆盖控制器示例,在模块配置中

'modules' => [ 
	
	'articles' => [ 
		'class' => 'cinghie\articles\Articles',
		'controllerMap' => [
			'items' => 'app\controllers\MyItemsController'
		]
	]
	
],

覆盖模型示例,在模块配置中

'modules' => [ 
	
	'articles' => [ 
		'class' => 'cinghie\articles\Articles',
		'modelMap' => [
			'Items' => 'app\models\MyItemsModel'
		]
	]
	
],

覆盖视图示例,在组件配置中

'components' => [ 

	'view' => [
		'theme' => [
			'pathMap' => [
				'@cinghie/articles/views/items' => '@app/views/articles/items',
			],
		],
	],
	
],

覆盖示例可以在overrides文件夹中找到

用户认证

文章权限

类别权限

标签权限

用户类型

迁移向数据库添加4种用户类型

  1. 管理员
    • 可以创建类别
    • 可以发布类别
    • 可以删除类别
    • 可以更新类别
    • 可以索引类别
    • 可以创建文章
    • 可以发布所有文章
    • 可以更新所有文章
    • 可以删除所有文章
    • 可以索引所有文章
    • 可以查看所有文章
    • 可以创建标签
    • 可以发布标签
    • 可以删除标签
    • 可以更新标签
    • 可以索引标签
  2. 编辑器
    • 可以创建类别
    • 不能发布类别
    • 不能删除类别
    • 可以更新类别
    • 可以索引类别
    • 可以创建文章
    • 可以发布他的文章
    • 可以更新所有文章
    • 可以删除他的文章
    • 可以索引文章
    • 可以查看所有文章
    • 可以创建标签
    • 可以发布标签
    • 可以删除标签
    • 可以更新标签
    • 可以索引标签
  3. 发布者
    • 不能创建类别
    • 不能发布类别
    • 不能删除类别
    • 不能更新类别
    • 可以索引类别
    • 可以创建文章
    • 可以发布他的文章
    • 可以更新他的文章
    • 可以删除他的文章
    • 可以索引他的文章
    • 可以查看所有文章
    • 可以创建标签
    • 可以发布标签
    • 可以更新标签
    • 可以索引标签
  4. 作者
    • 不能创建类别
    • 不能发布类别
    • 不能删除类别
    • 不能更新类别
    • 可以索引类别
    • 可以创建文章
    • 不能发布他的文章
    • 可以更新他的文章
    • 不能删除文章
    • 不能索引文章
    • 可以查看文章
    • 可以创建标签

链接

  • 管理员面板:PathToApp/index.php?r=articles
  • 具有漂亮URL的管理面板:PathToApp/articles
  • 类别:PathToApp/index.php?r=articles/categories
  • 具有漂亮URL的类别:PathToApp/articles/categories
  • 项目:PathToApp/index.php?r=articles/items
  • 具有漂亮URL的项目:PathToApp/articles/items
  • 附件:PathToApp/index.php?r=articles/attachments
  • 具有漂亮URL的附件:PathToApp/articles/attachments
  • 标签:PathToApp/index.php?r=articles/tags
  • 具有漂亮URL的标签:PathToApp/articles/tags