基于 Laravel 5 构建的、支持模块化和多语言的 CMS —— AsgardCMS
1、简介
AsgardCMS 是基于 Laravel 5 构建的、支持模块化和多语言的CMS。
官网:https://asgardcms.com/
Github:https://github.com/AsgardCms
基于 AsgardCMS 构建的站点:https://asgardcms.com/gallery
百牛信息技术bainiu.ltd整理发布于博客园
2、功能特性
AsgardCMS以模块方式提供功能特性,系统自带的模块包括:
- 核心模块:安装/升级、配置、侧边栏管理、权限控制、前端资源管理器、辅助函数、表单
- 后台模块:小部件
- 媒体模块:配置、缩略图、事件、链接媒体文件到实体
- 菜单模块:管理、显示菜单
- 设置模块
- 主题
- 用户模块
- 标签模块
- 工作台模块:创建模块、生成实体、创建主题等
此外官方还为我们提供了博客模块、区块模块以及通知模块。
3、系统要求
目前AsgardCMS分稳定版本(1.0)和开发版本(2.0),稳定版本基于Laravel 5.1,开发版本基于Laravel 5.3。
开发版本对系统要求如下:
- PHP 5.6+
- PDO 扩展
- cURL 扩展
- OpenSSL 扩展
- Mbstring 扩展
- Tokenizer 扩展
- Mcrypt 扩展
- GD 扩展
- MySQL 5.5
- 以下缓存之一:Memcached、Redis、APC(默认是数组)
文档版本和开发版本对 PHP 扩展要求一致,只不过PHP版本只需要是 5.5.9+ 即可。
4、安装
下面我们以开发版本为例,讲述 AsgardCMS 的安装。
首先我们需要通过 Composer 来创建项目:
composer create-project asgardcms/platform=2.0.x-dev your-project-name
如果安装稳定版本的话,对应安装命令如下:
composer create-project asgardcms/platform your-project-name
然后创建相应的数据库。
接下来,在项目根目录运行安装命令 php artisan asgard:install 进行安装,安装命令会做以下这些事:
- 设置数据库信息
- 运行迁移
- 填充数据
- 发布前端资源
- 创建一个后台账户
安装完成后,就可以通过 /auth/login 进入登录页面并使用上面安装过程中填写的邮箱和密码进行登录。登录成功后就可以访问后台面板 /backend。
5、用到的第三方扩展包
AsgardCMS 受益于开源社区,在构建过程中我们使用到了如下扩展包:
- Laravel主题扩展包:floatingpointsoftware/stylist
- Laravel多模块管理:nwidart/laravel-modules
- Laravel框架HTML及表单构建器:laravelcollective/html
- 轻松实现视图展示:laracasts/presenter
- Laravel多语言扩展包:dimsav/laravel-translatable
- Laravel本地化实现:mcamara/laravel-localization
- Laravel侧边栏构建器:maatwebsite/laravel-sidebar
- PHP图片操作:intervention/image
- Laravel 5 菜单扩展包:pingpong-labs/menus
- 扩展Eloquent\Collection处理无限嵌套数据项:typicms/nestablecollection
- Laravel包开发测试助手:orchestra/testbench
- Laravel调试器:barryvdh/laravel-debugbar
请在使用的时候注意标明。
基于 Laravel 5 构建的、支持模块化和多语言的 CMS —— AsgardCMS的更多相关文章
- 基于laravel框架构建最小内容管理系统
校园失物招领平台开发 --基于laravel框架构建最小内容管理系统 摘要 针对目前大学校园人口密度大.人群活动频繁.师生学习生活等物品容易遗失的基本现状,在分析传统失物招领过程中的工作效率低下. ...
- 基于开源软件构建高性能集群NAS系统,包括负载均衡(刘爱贵)
大数据时代的到来已经不可阻挡,面对数据的爆炸式增长,尤其是半结构化数据和非结构化数据,NoSQL存储系统和分布式文件系统成为了技术浪潮,得到了长足的发展.非结构化数据目前呈现更加快速的增长趋势,IDC ...
- 基于Dubbo框架构建分布式服务(一)
Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...
- Gravitational Teleport 是一个先进的 SSH 服务器,基于 Golang SSH 构建,完全兼容 OpenSSH
Gravitational Teleport 是一个先进的 SSH 服务器,可通过 SSH 或者 HTTPS 远程访问 Linux 服务器.其目的是为了替代 sshd.Teleport 可以轻松让团队 ...
- 基于Dubbo框架构建分布式服务
Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...
- 基于 Apache Mahout 构建社会化推荐引擎
基于 Apache Mahout 构建社会化推荐引擎 http://www.ibm.com/developerworks/cn/views/java/libraryview.jsp 推荐引擎利用特殊的 ...
- 基于 Laravel、Vue.js开发的全新社交系统----ThinkSNS+
什么是ThinkSNS+ ThinkSNS(简称TS)始于2008年,一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+.新的产品名 ...
- 基于 Laravel 开发 ThinkSNS+ 中前端的抉择(webpack/Vue)踩坑日记【ThinkSNS+研发日记系列】
在上一篇文章< ThinkSNS+基于Laravel master分支,从1到 0,再到0.1>,简单的介绍了 社群系统ThinkSNS+ ,这里分享在开发过程中,前端选择的心理活动. L ...
- ThinkSNS+ 基于 Laravel master 分支,从 1 到 0,再到 0.1
什么是 ThinkSNS+ 09 年,由北京的团队开发了 ThinkSNS 涉足社交开源行业.这么多年累计不少客户.2014-2016,两年都在维护和开发之前基于 TP 的 ThinkSNS , 慢慢 ...
随机推荐
- 安装Django时解决的问题-mysql及访问(附pycharm激活)
1.做些软链接和virtualenv的基本使用: ln -s /data/linkdood/im/vrv/python36/bin/python3.6 /usr/bin/python3 ln -s / ...
- Java I/O概述
Java的I/O通过java.io包下的类.接口来支持.在java.io包下主要包括输入.输出两种IO流,每种输入.输出流又可分为字符流.字节流两大类. 字符流以字符为单位处理输入.输出操作,字节流以 ...
- Java中的final关键字(转)
Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...
- 解决asp.net core 日期格式 datetime Json返回 带T的问题
原文:解决asp.net core 日期格式 datetime Json返回 带T的问题 记录一下: Startup中,将 services.AddMvc(); 改为: services.AddMvc ...
- Fragment 生命周期怎么来的?
前言 Fragment对于 Android 开发人员来说一点都不陌生,由于差点儿不论什么一款 app 都大量使用 Fragment,所以 Fragment 的生命周期相信对于大家来说应该都非常清晰.但 ...
- Netty3 源代码分析 - NIO server绑定过程分析
Netty3 源代码分析 - NIO server绑定过程分析 一个框架封装的越好,越利于我们高速的coding.可是却掩盖了非常多的细节和原理.可是源代码可以揭示一切. 服务器端代码在指定 ...
- opencvSGBM半全局立体匹配算法的研究(1)
转载请说明出处:http://blog.csdn.net/zhubaohua_bupt/article/details/51866567 这段时间对opencvSGBM半全局立体匹配算法进行了比較仔细 ...
- 依据iPhone6设计稿动态计算rem值
rem 单位在做移动端的h5开发的时候是最常常使用的单位. 为解决自适应的问题.我们须要动态的给文档的更节点加入font-size 值.使用mediaquery 能够解决问题,可是每个文件都引用一大串 ...
- java工具类(四)之实现日期随意跳转
Java实现日期随意跳转 项目开发过程中.须要进行订单提醒日期的设置.主要包含设置每月指定的日期或者指定的天数,代码例如以下: public static String DateOperation(S ...
- mysql有哪几种索引
从数据结构角度 1. B+树索引(O(log(n))) 2. hash索引 3. FULLTEXT索引 4. R-Tree索引 从物理存储角度 1. 聚集索引 2. 非聚集索引 从逻辑角度 ...