基于 Laravel 5.3 开发的下一代 CMS系统 —— Coaster CMS,干货还是噱头?

coastercms

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,此外,如果你想要先预览其功能,官方也为我们提供了演示地址:

下面就来看看其安装和使用吧。

2、安装

我们使用Composer来安装项目:

composer create-project web-feet/coastercms

之后需要在.env中配置好数据库连接,并确保以下目录可写:

  • /public
  • /public/cache
  • /public/themes
  • /public/uploads
  • /.env

然后以Mac为例我们通过http://coastercms.dev访问站点,进入安装向导。首先是确保目录可写权限:

coastercms-file-writable

接下来是数据库配置:

coastercms-create-db

数据库配置好了之后,需要创建后台管理员:

coastercms-create-user

然后为项目选择一个主题:

oastercms-select-theme

点击完成安装按钮就安装完成了:

coaster-install-completed
至此就完成了 Coaster CMS 的安装工作,之后我们可以选择登陆到后台或进入前台。

3、使用

我们首先登陆到后台:

coaster-admin-login

使用安装时设置的账号信息登录,进入后台管理页面:

coastercms-back-end

这里提供了整个站点的管理功能,在这里我们可以按照自己的所需对站点进行设置和管理:

  • 首页(Dashboard)类似WordPress的仪表盘;
  • 页面(Pages)提供了对前台页面模板进行预览、设置和调整的功能;
  • 菜单(Menus)提供了对前台导航菜单进行调整和设置的功能;
  • 全站内容(Site-wide Content)里我们可以对全站进行一些通用功能设置,比如头部、底部、SEO、侧边栏等。
  • 重定向(Redirects)里可以设置一些URL重定向;
  • 文件管理器(File Manager)可以对全站上传文件进行管理(目前貌似不可用);
  • 用户(Users)提供新增、显示、编辑、删除用户等功能;
  • 权限(Roles)里可以对用户权限进行设置;
  • 主题(Theme)里可以选择、上传主题,还可以对表单验证规则进行设置;
  • 蓝牙(Beacons)集成了Kontakt.io API提供的蓝牙技术,详情请点击https://www.coastercms.org/beacons

前台页面看起来也比较高端大气:

coastercms-front-end

综合来看,整个项目目前仅仅是处于Demo阶段,很多细节和功能还有待进一步完善,想要取代WordPress短期来看基本是不可能的。

4、集成到已有项目中

除了像上述这样安装全新的Coaster CMS,还可以选择在已有项目中集成这个CMS系统。具体操作步骤如下:

  • 添加"web-feet/coasterframework": "5.3.*"composer.json并运行composer update
  • 进入项目根目录,在public目录下创建uploadscoaster目录;
  • 运行脚本php vendor/web-feet/coasterframework/updateAssets
  • 添加服务提供者CoasterCms\CmsServiceProvider::classconfig/app.php

学院君

学院君 has written 548 articles

资深PHP工程师,Laravel学院院长