## 模板概述
呆错文章管理系统使用的模板引擎为ThinkPHP自带的引擎,所以您在开发模板的过程中只需要理解TP的模板调用语法即可。如果您对TP的模板还不熟悉,请点击[这里](https://www.kancloud.cn/manual/thinkphp5/118122)阅读TP5.0的模板章节。
## 模板主题
呆错文章管理系统的模板主题会自动根据访客的终端类型自动选择不同的模板主题,您只需要在后台 > 文章 > 频道设置 管理面板中为不同终端设置好模板主题名称即可。
## 模板目录
呆错文章管理系统的模板主题目录放在apps/cms/theme目录下,您可以在该目录下自行开发模板或将下载的模板主题上传至该目录。
## 模板继承
> 如需使用呆错文章管理系统的模板机制则需要继承前台基类模板,继承以后就可以使用DaiCuo开发框架的提供脚本库快速完成一些模板特效(具体操作方法为在模板的顶部添加继承代码后使用block标签定义页面,实例如下),当然这个不是必须的,你也可以自行编写任意的HTML文件。
基类模板定义的相关的区块(block)默认有以下几个,您可以根据需要使用block标签替换。
* header_meta Head区区块
* header_more Head区附加代码
* header 网页头部区块
* main 网页主体区块
* footer 网页底部区块
* js 网页加载JS代码区块
```
{extend name="apps/common/view/front.tpl" /}
{block name="header_meta"}
<title>{$index_title}</title>
<meta name="keywords" content="{$index_keywords}" />
<meta name="description" content="{$index_description}" />
{/block}
```
## 模板包含
通常有一些模板通用的组件是重复的元素,比如导航栏、搜索框等,我们称之为“小组件”,这些小组件可以随意命名,只需要将基放在widget模板目录内后使用include标签包含即可(实例如下)。
```
{include file="widget/header" /}
```
## 模板下载
呆错站长论坛提供呆错文章管理系统模板主题的免费下载与交流,如有需要 [点击这里](http://bbs.daicuo.net)
## 关于普通标签
* 普通标签是指在访问呆错文章管理系统具体页面时,系统预先已经定义的模板变量,调用语法为 ``` {$变量名} ```
* 普通标签可以直接在模板中使用,在使用普通标签时请参考指定的页面范围。
## 普通标签调用实例
以首页的SEO优化相关标签为例,在模板里直接调用。
```
<title>{$index_title}</title>
<meta name="keywords" content="{$index_keywords}" />
<meta name="description" content="{$index_description}" />
```
## 关于函数标签
* 函数标签是指在模板里直接调用PHP内置函数或呆错文章系统函数对模板变量进行处理。
* 函数标签的调用语法可以在变量后直接使用 ```|``` 分隔或者使用 ```:``` 调用。
## 函数标签调用实例
以首页的SEO优化相关标签为例,以下两种调用方式都可以实现默认值输出。
```
<title>{$index_title|DcEmpty='呆错文章系统'}</title>
<title>{:DcEmpty(index_title,'呆错文章系统')}</title>
```
当使用|的方式调用时,默认函数的参数是依次从第一个,如不是此情景则需要使用占位符,如下
```
{$info_create_time|date='Y-m-d H:i:s',###}
```
## 关于循环标签
在模板里循环输出直接使用ThinkPhp的 volist 或 foreach 标签,循环输出的变量可以直接定义或通过函数来调用。
## 循环标签输出调用实例
```
<ul class="list-unstyled">
{volist name=":cmsSelect(['status'=>'normal','limit'=>10,'sort'=>'info_views','order'=>'desc'])" id="cms"}
<li class="py-2"><a href="{:cmsUrlDetail($cms)}">{$cms.info_name|DcHtml}</a></li>
{/volist}
</ul>
```
## 数据调用函数实例
系统主要有cmsSelect、cmsCategorySelect、cmsTagSelect、cmsNavsSelect这几个函数,具体常用的函数请参考后续助手函数章节。
* cmsSelect 文章列表数据调用函数
* cmsCategorySelect 所有分类数据调用函数
* cmsTagSelect 所有标签数据调用函数
* cmsNavsSelectt 所有导航菜单数据调用函数
## 关于URL路径
呆错文章管理系统的站内URL链接统一使用cmsUrl函数生成,这主要用在模板制作过程中,使用方法如下。
~~~
http://serverName/index.php/cms/控制器/操作/[参数名/参数值...]
~~~
## 关于站内链接
以默认模板主题(default)为例进行说明,在模板开发时除了基本的cmsUrl函数外还提供了以下几个函数快速生成对应的页面路径。
* cmsUrlCategory 文章分类页链接
* cmsUrlTag 文章标签页链接
* cmsUrlSearch 文章搜索页链接
* cmsUrlDetail 文章详情页链接
* cmsUrl 生成内部链接
- 序言
- 建站流程
- 环境配置
- 系统安装
- 系统升级
- 网站结构
- 后台管理
- 全局配置
- 缓存设置
- 上传设置
- 视频设置
- 频道设置
- 文章管理
- 采集管理
- 栏目分类
- 标签TAG
- SEO优化
- 字段扩展
- 工具维护
- 安装插件
- 模板开发
- 全局标签
- 首页标签
- 分类页标签
- 标签页标签
- 搜索页标签
- 筛选页标签
- 详情页标签
- 聚合页标签
- 助手函数
- cmsSelect
- cmsGet
- cmsGetId
- cmsGetSlug
- cmsGetName
- cmsPrev
- cmsNext
- cmsAttrOption
- cmsTypeOption
- cmsFields
- cmsCategorySelect
- cmsCategoryId
- cmsCategorySlug
- cmsCategoryName
- cmsTagSelect
- cmsTagId
- cmsTagSlug
- cmsTagName
- cmsTags
- cmsNavsSelect
- cmsImagePreg
- cmsColor
- cmsDate
- cmsSeo
- cmsSubstr
- cmsTrim
- cmsUrl
- cmsUrlCategory
- cmsUrlTag
- cmsUrlSearch
- cmsUrlFilter
- cmsUrlDetail
- cmsUrlImage