基于 Laravel 5.3 开发的下一代 CMS系统 —— Coaster CMS,干货还是噱头?
1、简介
Coaster CMS 号称为下一代CMS,下面我们通过一个对比图来看看Coaster CMS何以撑得起下一代这一称号:
功能 | Wordpress | Joomla | Coaster |
---|---|---|---|
管理页面 | 次要功能 | yes | yes |
用户友好的界面 | yes | no | yes |
支持多个菜单 | 需要额外操作 | yes | yes |
独立的文件管理器 | yes | yes | yes |
给系统打版本、发布 | yes | yes | yes |
内容区块类型支持统一设计 | no | yes | yes |
联系表单 | 需要插件 | 需要插件 | yes |
OOP框架 | 部分 | yes | yes |
支持Composer | no | no | yes |
博客功能 | yes | no | yes (基于主题) |
对开发者友好 | 插件 | no | yes |
对于高度灵活的网站支持唯一的“转换器”区块功能 | no | no | yes |
安全 | 更新到最新版 | 更新到最新版 | 更新到最新版 |
支持蓝牙 | no | no | yes |
内置的SEO工具 (自动更新站点地图和301重定向) | with plugin | partial | yes |
基于时间的版本 | No | No | Yes |
看起来不错的样子 ,该项目官网是https://www.coastercms.org,Github地址是https://github.com/Web-Feet/CoasterCMS,此外,如果你想要先预览其功能,官方也为我们提供了演示地址:
- 前台:http://demo.coastercms.org/
- 后台:http://demo.coastercms.org/admin(账号:
demo@coastercms.org
,密码:password
)
2、安装
我们使用Composer来安装项目:
composer create-project web-feet/coastercms
之后需要在.env
中配置好数据库连接,并确保以下目录可写:
/public
/public/cache
/public/themes
/public/uploads
/.env
然后以Mac为例我们通过http://coastercms.dev
访问站点,进入安装向导。首先是确保目录可写权限:
接下来是数据库配置:
数据库配置好了之后,需要创建后台管理员:
然后为项目选择一个主题:
点击完成安装按钮就安装完成了:
至此就完成了 Coaster CMS 的安装工作,之后我们可以选择登陆到后台或进入前台。3、使用
我们首先登陆到后台:
使用安装时设置的账号信息登录,进入后台管理页面:
这里提供了整个站点的管理功能,在这里我们可以按照自己的所需对站点进行设置和管理:
- 首页(Dashboard)类似WordPress的仪表盘;
- 页面(Pages)提供了对前台页面模板进行预览、设置和调整的功能;
- 菜单(Menus)提供了对前台导航菜单进行调整和设置的功能;
- 全站内容(Site-wide Content)里我们可以对全站进行一些通用功能设置,比如头部、底部、SEO、侧边栏等。
- 重定向(Redirects)里可以设置一些URL重定向;
- 文件管理器(File Manager)可以对全站上传文件进行管理(目前貌似不可用);
- 用户(Users)提供新增、显示、编辑、删除用户等功能;
- 权限(Roles)里可以对用户权限进行设置;
- 主题(Theme)里可以选择、上传主题,还可以对表单验证规则进行设置;
- 蓝牙(Beacons)集成了Kontakt.io API提供的蓝牙技术,详情请点击https://www.coastercms.org/beacons。
前台页面看起来也比较高端大气:
综合来看,整个项目目前仅仅是处于Demo阶段,很多细节和功能还有待进一步完善,想要取代WordPress短期来看基本是不可能的。
4、集成到已有项目中
除了像上述这样安装全新的Coaster CMS,还可以选择在已有项目中集成这个CMS系统。具体操作步骤如下:
- 添加
"web-feet/coasterframework": "5.3.*"
到composer.json
并运行composer update
; - 进入项目根目录,在
public
目录下创建uploads
和coaster
目录; - 运行脚本
php vendor/web-feet/coasterframework/updateAssets
; - 添加服务提供者
CoasterCms\CmsServiceProvider::class
到config/app.php
。
56 Comments