大实验室 / yii2-网站模块
用于管理网站内容的Yii2模块。有点像CMS...
1.0.15
2021-03-08 16:11 UTC
Requires
- 2amigos/yii2-ckeditor-widget: ^2.0
- 2amigos/yii2-gallery-widget: ~1.0
- daxslab/yii2-sharelinks-widget: ^1.0
- daxslab/yii2-taggedview: ~1.0
- daxslab/yii2-thumbnailer: ~1.0
- daxslab/yii2-uploader-behavior: ~1.0
- kartik-v/yii2-widget-switchinput: ^1.3
- vinpel/yii2-dropzone: ~1.0.4
- yii2tech/ar-position: ^1.0
- yiisoft/yii2: *
- yiisoft/yii2-bootstrap4: ~2.0.6
- yiisoft/yii2-jui: *
- zelenin/yii2-rss: ~0.1.0
README
用于实现网站的Yii2模块。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令
php composer.phar require --prefer-dist daxslab/yii2-website-module "*"
或在您的 composer.json
文件的require部分添加以下内容
"daxslab/yii2-website-module": "*"
简介
网站试图成为一个无干扰的CMS,不限制Yii2框架作为开发平台的能力。想法是您可以将网站功能添加到现有应用程序中,或者仅基于Yii2框架创建一个网站。
与其它CMS相比,网站模块背后的想法略有不同。虽然通常页面、文章和分类被管理,但在网站中,一切都是一个页面,每个页面都可以有子页面,因此
- 没有子页面的页面可以被认为是常规的页面
- 有子页面的页面可以被认为是分类
- 子页面可以被认为是文章
生成的树可以具有所需的任何深度。
除了页面之外,网站还管理媒体:任何可以在生成的网站中引用的附件文件。该模块处理上传过程。
您还可以使用网站模块管理菜单。对于每个菜单,您可以创建菜单项,然后将其指向任何URL。在创建菜单项时,您可以输入标签和URL,或者从现有页面中选择。
配置
网站旨在与Yii2高级应用程序模板一起使用。为了使其与基本模板兼容,可能需要进行一些修改。
模块
首先在common/config/main.php中为所有应用程序配置模块
//...
'modules' => [
'website' => [
'class' => daxslab\website\Module::class,
'languages' => ['en', 'es', 'it'],
'token' => 'some-string-here'
]
]
//...
注意以下指定属性
- languages: 数组,包含将用于创建内容的活动语言
- token: 字符串,用于识别每个网站,以防使用多个网站。
数据库
假设您正在使用某种数据库,并且已经设置了到其的连接。在console/config/main.php中配置迁移
//...
'controllerMap' => [
'migrate' => [
'class' => 'yii\console\controllers\MigrateController',
'migrationNamespaces' => [
'daxslab\website\migrations',
]
],
],
//...
控制器
在每个应用程序中为模块配置控制器命名空间。让我们从frontend/config/main.php开始
//...
'modules' => [
'website' => [
'controllerNamespace' => 'daxslab\website\controllers\frontend'
]
]
//...
对于backend/config/main.php也是类似的
//...
'modules' => [
'website' => [
'controllerNamespace' => 'daxslab\website\controllers\backend'
]
]
//...
用法
该模块提供了两组控制器:前端和后端。