Blade原理及应用
huzunjie @ 奇舞团
一套CMS系统的设计、实现、应用
大纲
- Blade基本原理
- 项目接入及权限控制
- 一个典型文章站
- 问题排查
- 附加功能
Blade 基本原理
模板
页面
静态资源
编译、静态化
推送文件到业务服务器
数据
分类
模型(数据表)
内容管理
模板及页面
频道列表页
首页
聚合专题页
文章详情页
接下来
通过示例站点的开发了解Blade主要功能
新建站点&权限管理
-
团队
- 项目
- 站点
- 基本信息配置
- 服务器及目录映射配置
- 自定义扩展配置
网站开发涉及的功能
Blade语法标记
自定义内容标记
数据处理标记
- 翻页列表 cms:list
- 数据查询 cms:query
- 数据详情 cms:data
- 跨站数据 cms:csref
- 远程数据 cms:remote
辅助类标记
- 翻页组件 cms:pager
- 类目列表 cms:catgs
- 面包屑 cms:crumb
- PHP标记 cms:php
- 扩展组件 cms:module
- 注释标记 cms:comment
Smarty版渲染语句的语法标记:
{cms:data id="abc"}
{%$cmsRet.content%}
{/cms}
PHP版渲染语句的语法标记:
{cms:data id="abc"}
<?php
echo $cmsRet['content'];
?>
{/cms}
语法标记块内的环境变量
-
$cmsRet
读取标记块输出内容 -
$cmsCtx
读取上下文信息,比如通过 $cmsCtx['block_attrs'] 获取板块标记的自定义属性值... -
$cmsSet
读取到站点&分类&页面&模板的自定义设置 -
$cmsVar
通过 $cmsVar->set('k', 'v') 和 $cmsVar->get('k') 可存取模板级全局变量 - $cmsMod
调用扩展模块,比如使用 $cmsMod->Data_fetchList({...opts...}) 查询数据... - $cmsFunc
调用自定义函数,比如$cmsFunc->formatDate("m-d",$time) 进行日期格式化...
内容发布
- 手动发布
- 模板
- 页面
- 数据
- 分类
数据类目至少绑定一个模板
- 定时发布
- 页面
- 分类
- 数据
问题排查
-
预览
- 模板
- 页面
- 数据
- 同步检测
- 发布日志
- 版本信息
- 静态快照
附加功能
- 站点导入导出
- 导出物理文件到本地
- 离线批量编辑
- 批量导入、复制站点
- 静态资源管理
- 上传
- 下载
- 发布
- 扩展‘钩子’
- 服务端扩展组件
- 前端扩展组件
谢谢
Blade原理与应用
By 胡尊杰
Blade原理与应用
- 796