使用 Laravel 快速构建网站系列 —— 内容管理系统:TypiCMS
1、简介
TypiCMS 是一个基于 Laravel 5 构建的、支持多语言的内容管理系统(CMS)。
2、GitHub
https://github.com/TypiCMS/Base3、功能特性
URL
由TypiCMS管理站点URL:
模块
- /en/events/slug-in-english
- /fr/evenements/slug-en-francais
- /en/parent-pages-slug-en/subpage-slug-en/page-slug-en
- /fr/parent-pages-slug-fr/subpage-slug-fr/page-slug-fr
4、系统要求
- PHP >= 5.5.9
- PHP OpenSSL扩展
- PHP Mbstring扩展
- PHP Tokenizer扩展
- Memcache或Redis
5、安装&配置
安装
创建新项目:
composer create-project typicms/base mywebsite
进入新安装的项目目录:
cd mywebsite
数据库迁移和填充,用户创建,npm安装,bower安装和目前权限:
php artisan typicms:install
在浏览器中访问 http://mywebsite.local/admin
并登录
npm,Bower&Gulp
为了管理assets,需要安装Node.js、Bower和gulp,然后进入站点根目录运行如下命令:
1)基于bower.json
安装bower包(安装到app/assets/components
):
bower install
2)基于gulpfile.js
安装gulp包(安装到node_modules
):
npm install
3)编译后端和前端资源:
gulp
配置
- 在配置文件
config/translatable.php
中设置本地语言 - 在配置文件
config/app.php
中设置fallback_locale
- 在配置文件
config/typicms.php
中设置main_locale_in_url
为true
或false
- 缓存驱动被设置到数组中,你可以在
.env
文件中将其切换为其它缓存系统如redis
或memcache
模块安装
本例是一个News模块,经过下面的操作后,该模块将会出现在后台的工具栏中。
1)使用composer安装模块:
composer require typicms/news
2)在TypiCMS\Modules\Core\Providers\ModuleProvider::class
之前追加服务提供者TypiCMS\Modules\News\Providers\ModuleProvider::class
到config/app.php
3)发布视图和迁移:
php artisan vendor:publish
4)运行迁移
php artisan migrate
6、模块
页面(Pages)
页面模块可以通过拖放进行嵌套组合。拖放完成后对应URL会生成并保存到数据库。每个页面的翻译版都有其独立的路由。页面可以被链接到模块。
菜单(Menus)
每个菜单都包含可嵌套的实体,一个实体可以被链接到指定页面或URL,你可以通过Menus::build('menuname')
返回HTML格式的菜单。
项目(Projects)
项目模块有分类,项目URL遵循这一模式: /en/projects/category-slug/project-slug分类(Categories)
分类包含多个项目标签(Tags)
标签被链接到项目并使用jQuery插件Selectize。标签模块支持多对多的多态关联,所以可以轻松链接到其它模块。事件(Events)
事件有开始和结束日期。新闻(News)
可以链接到文件/图片的简单新闻模块。联系(Contacts)
前端联系表单和后台信息管理合作者(Partners)
合作者模块提供Logo、网站URL、标题和简介功能。文件(Files)
文件模块使用 DropzoneJS实现上传操作,允许你同时上传多个文件,上传过程中使用 Croppa生成缩略图。相册(Galleries)
你可以随心所欲的创建相册,每个相册包含多个文件,相册可以通过多态的多对对关联链接到任何模块。用户(Users)
用户注册可以通过设置面板(/admin/settings
)启用。
区块(Blocks)
区块在显示自定义内容时很有用,你可以通过Blocks::build('blockname')
获取指定区块内容。
翻译(Translations)
翻译通过后台面板(/admin/translations
)存放到数据库。你可以通过Lang::get('db.Key')
, trans('db.Key')
或 @lang('db.Key')
在任何地方调用数据库中的翻译。
站点地图(Sitemap)
站点地图是一个XML格式的文件——sitemap.xml
,可以通过配置app/config/sitemap.php
添加模块到站点地图。
设置(Settings)
修改站点标题,或者其他选项可以通过后台设置面板。站点设置也是保存到数据库中。历史(History)
数据库中记录created
, updated
, deleted
, online
和offline
动作日志。后面面板显示最新的25条记录。
7、门面
每个模块都提供了一个门面以便访问,比如你可以通过News::latest(3)
获取最新三条新闻。
8、Artisan命令
Artisan命令位于app/TypiCMS/Commands
。下面列出一些TypiCMS提供的一些命令:
安装TypicalCMS:
php artisan typicms:install
在app/config/cache.php
中设置缓存键前缀:
php artisan cache:prefix yourCachePrefix
初始化迁移和填充:
php artisan typicms:database
清除目录public/html
:
php artisan clear-html
19 Comments