极致CMS帮助文档极致CMS帮助文档
首页
论坛
视频
加群
工具
GitHub
首页
论坛
视频
加群
工具
GitHub
  • 引言
  • 条款
  • 起步
  • 基础标签

    • 系统配置
    • 配置栏目
    • 栏目导航
    • 面包屑导航
    • 栏目列表
    • 单页
    • 文章内容页
    • 商品内容页
    • 点击量
    • 点赞
    • 收藏
    • 评论
    • 购买
    • 轮播图/幻灯片
    • 友情链接
    • 网站底部
    • 自定义字段
    • TAG
    • 内链
    • 碎片化
  • LOOP标签

    • 基本用法
    • 分页
    • 空数据
    • tid
    • like
    • notlike
    • limit
    • jzattr
    • day
    • table
    • sql
    • jzcache
    • notjz
  • Screen筛选
  • 功能标签
  • 极致模型函数
  • 自定义路由
  • 相关统计
  • 邮箱配置
  • 多语言支持
  • 搜索模块

    • 单模型搜索
    • 多模型搜索
    • 搜索结果页
  • 留言模块

    • 基本用法
    • 高级用法
    • 搜索结果页
  • 自定义模块
  • 模板制作

    • 准备工作
    • 网站栏目
    • 页面规划
    • 自定义函数
    • 模板信息
    • 客户权限
    • 桌面设置
    • 上线部署
  • 模板列表
  • 插件相关

    • 安装卸载
    • 控制器方法覆盖(简单)
    • 控制器方法钩子(高级)
    • 覆盖Common公共控制器
    • 极致CMS升级插件
    • 系统API接口插件
    • 数据库修复插件
    • 多语言建站
    • 模板助手插件
    • 阿里云短信注册插件
    • 独立静态网站插件
    • 云储存插件
    • Excel导入导出插件
    • 后台登录安全插件
    • 屏蔽IP插件
    • 在线编辑模板插件
    • 生成多尺寸缩略图插件
    • 火车头采集Web发布插件
    • 伪原创插件
    • 留言发送邮箱插件
    • 留言提交安全插件
    • QQ一键登录插件
    • Skycaiji蓝天采集API接口插件
    • 多域名绑定插件
    • 百度SEO推送
    • 百度百家推送
    • 极致插件示例
    • 栏目便捷工具
  • 支付相关

    • 支付宝支付
    • 微信支付
    • 立即支付
    • 接入第三方支付
  • 会员模块

    • 页面模板说明
    • 个人中心
    • 我的资料/修改密码
    • 我的关注
    • 我的粉丝
    • 我的投稿
    • 我的收藏
    • 我的喜欢
    • 我的评论
    • 我的钱包
    • 购买记录
    • 我的购物车
    • 订单管理
    • 消息设置
    • 公开页
    • 会员登录
    • 会员注册
    • 忘记密码
    • 微信登录
  • 微信小程序

    • 开始起步
    • 小程序开发
    • API接口
    • 轮播图/幻灯片
    • 获取栏目信息
    • 获取内容详情
    • 留言交互
  • Windows部署
  • 宝塔一键部署
  • 伪静态配置
  • 系统架构
  • 数据字典
  • 视频教程
  • 版本更新
  • Vue & App接入(v2.5.2+)

    • 验证码
    • 上传文件
    • 会员注册
    • 会员登录
    • 找回密码
    • 获取用户信息
    • 修改用户信息
    • 我的文章
    • 发布文章
    • 删除文章
    • 获取单篇文章信息
    • 我的收藏
    • 收藏/取消收藏
    • 是否收藏
    • 我的点赞
    • 点赞/取消点赞
    • 是否点赞
  • 常见问题

    • 如何判断首页,栏目页,详情页,单页?
    • 如何调用关联和相关文章内容?
    • 搜索超出设定范围如何解决?
    • 判断用户是否购买商品?
    • 判断会员分组?
    • 如何输出内容图片?
    • 如何判断自己是否适合使用极致CMS?
    • ajax数据交互,加载更多功能实现?
    • 如何实现后台录入时自定义检测重复内容的功能?
  • 附录

    • 时间格式
    • 富文本编辑器
    • 二维码生成
    • 验证码生成
    • 自定义后台主页
    • 客户端判断
    • classtypedata数据详解
    • 文章归档
    • RSS
    • 制作内容分页
    • 各种时间查询问题解决
    • 更换编辑器

下载CMS源码

永久最新版本址: http://down.jizhicms.cn/jizhicms.zip

本地环境搭建

Windows: 推荐phpenv
Linux: 推荐宝塔
虚拟主机:PHP7.0+ mysql4.8+

常用标签

将下面文档保持到本地,每次套模板拿出来看看,复制粘贴

极致CMS网站制作模板标签使用

帮助文档:http://help.jizhicms.cn   http://h.jizhicms.cn
论坛:https://www.jizhicms.cn

1.头部SEO

首页SEO-搜索-其他自定义页面等
<title>{$webconf['web_name']}</title>
<meta name="keywords" content="{$webconf['web_keyword']}" />
<meta name="description" content="{$webconf['web_desc']}" />

栏目列表SEO
<title>{$type['seo_classname']}-{$webconf['web_name']}</title>
<meta name="keywords" content="{$type['keywords']}" />
<meta name="description" content="{$type['description']}" />

内容页SEO
<title>{$jz['seo_title']}-{$webconf['web_name']}</title>
<meta name="keywords" content="{$jz['keywords']}" />
<meta name="description" content="{$jz['description']}" />
---------------------------------------------------------------
2.各种系统配置参数 
系统配置:
网站域名:{$webconf['domain']} //需要后台配置好
网站名:{$webconf['web_name']}
网站描述:{$webconf['web_desc']}
底部版权:{$webconf['web_copyright']}
网站备案:{$webconf['web_beian']}
网站手机:{$webconf['web_tel']}
400电话:{$webconf['web_tel_400']}
QQ:{$webconf['web_qq']}
邮箱:{$webconf['web_email']}
公司地址:{$webconf['web_address']}

备案号内链:https://beian.miit.gov.cn/

自定义配置:{$webconf['自定义参数']} //后台显示的如:[ abc ] {$webconf['abc']}

模板资源路径:{$tpl}    解析路径:/staic/default(当前模板)/

客户端判断;

判断是否手机端
{if(isMobile())}
手机端
    {if(isWeixin())}
    微信内置浏览器
    {/if}

{else}

PC电脑端

{/if}


//调用加入收藏函数
<a href="javascript:void(0);" title="wecandoitforev-baidujingyan"  onclick="join_favorite();">加入收藏</a>
<script type="text/javascript">
function join_favorite(){ 
var sURL=window.location.href;
var sTitle="菩之梵家具定制官方网站";
	try
	{
		window.external.addFavorite(sURL, sTitle);
	}
	catch (e)
	{
		try
		{
			window.sidebar.addPanel(sTitle, sURL, "");
		}
		catch (e)
		{
			alert("加入收藏失败,请使用Ctrl+D进行添加");
		}
	}
}
</script>
----------------------------------------------------
手机端判断,并自定跳转到手机端
<script type="text/javascript">
(function(){ if(/iphone|nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|wap|mobile/i.test(navigator.userAgent.toLowerCase())){ 	window.location.href="http://手机端网址/";}})();
</script>
--------------------------------------------------------------------
3.[栏目输出](/classtype)
#判断是否首页,输出高亮代码
<li>
<a class="a1 {if(!isset($type))}color{/if}" href="/">首页</a>                                                    
</li>
{foreach $classtypedata as $v} 
#判断输出可显示的栏目
{if($v['isshow']==1)}
#输出一级栏目
{if($v['pid']==0)}  
<li>
#判断是否当前栏目,输出高亮代码
<a class="a1 {if(isset($type) && in_array($type['id'],$v['children']['ids']))}color{/if}" href="{$v['url']}">{$v['classname']}</a>                                                    
</li>
  #判断是否有二级,输出下级分类
 {if($v['haschild'])}
  #输出二级栏目
		<ul>
            {foreach $v['children']['list'] as $vv}
            <li><a href="{$vv['url']}">{$vv['classname']}</a></li>
            {/foreach}
        </ul>
 {/if}

{/if}
{/if}
{/foreach}

-----------------------------
通用代码
需要知道对应的栏目id,下面假设栏目id=1

栏目名:{$classtypedata[1]['classname']}
模块标识:{$classtypedata[1]['molds']}
缩略图:{$classtypedata[1]['litpic']}
当前栏目URL:{$classtypedata[1]['url']}
描述:{$classtypedata[1]['description']}
关键词:{$classtypedata[1]['keywords']}
内容:{$classtypedata[1]['body']}
列表输出条数:{$classtypedata[1]['lists_num']}
栏目评论数:{$classtypedata[1]['comment_num']}
上级栏目ID:{$classtypedata[1]['pid']}
上级栏目名:{$classtypedata[$classtypedata[1]['pid']]['classname']}
上级栏目URL:{$classtypedata[$classtypedata[1]['pid']]['url']}
-----------------------------------------
loop一把梭  [文档](/classtype)

输出顶级栏
{loop table="classtype" isshow="1" pid="0" as="v"}
栏目名:{$v['classname']}
栏目URL:{$v['url']}
栏目简介:{$v['description']}
栏目缩略图[banner]:{$v['litpic']}
#判断是否有下级:
    {if($classtypedata[$v['id']]['haschild'])}
    #有下级则输出,输出下级栏目
        {foreach $classtypedata[$v['id']]['children']['list'] as $vv}
        栏目名:{$vv['classname']}
        栏目URL:{$vv['url']}
        栏目简介:{$vv['description']}
        栏目缩略图[banner]:{$vv['litpic']}
        {/foreach}
    {else}
    #没有下级则输出
    {/if}
{/loop}

-----------------------------------------------------------------
栏目列表页

栏目名:{$type['classname']}
模块标识:{$type['molds']}
缩略图:{$type['litpic']}
当前栏目URL:{$type['url']}
描述:{$type['description']}
关键词:{$type['keywords']}
内容:{$type['body']}
列表输出条数:{$type['lists_num']}
栏目评论数:{$type['comment_num']}
上级栏目ID:{$type['pid']}
上级栏目名:{$classtypedata[$type['pid']]['classname']}
上级栏目URL:{$classtypedata[$type['pid']]['url']}

列表数据输出--文章商品等其他模块一样,更多参数请参考数据库表字段,对应输出
{if($lists)}
{foreach $lists as $v}
文章标题:{$v['title']}
文章缩略图:{$v['litpic']}
文章简介:{$v['description']}
文章内容:{$v['body']}
文章URL链接:{$v['url']}
{/foreach}
{else}
没有数据
{/if}

分页输出
默认输出:{$pages}
自定义输出:
总条数:{$sum}
总页数:{$allpage}
分页列表[数组]:{$listpage}
        页码数组:{$listpage['list']}
        首页链接:{$listpage['home']}
        尾页链接:{$listpage['last']}
        上一页链接:{$listpage['prev']}
        下一页链接:{$listpage['next']}
        当前页链接:{$listpage['current']}
        当前页页码:{$listpage['current_num']}
        总页数:{$listpage['allpage']}
分页前一条链接:{$prevpage}
分页后一条链接:{$nextpage}
{if($listpage['list'])}
#判断是否有分页数据
<ul class="pagination">
#判断是否有前进页码
<li class="page-item {if($listpage['prev'])}disabled{/if}">
<a class="page-link" href="{$listpage['prev']}" aria-label="Previous"><span aria-hidden="true">«</span></a></li>
#循环输出分页列表
{foreach $listpage['list'] as $ss}
#$listpage['current_num']为当前页页码,判断是否为当前页
#$ss['num']为页码,$ss['url']为分页链接
<li class="page-item {if($ss['num']==$listpage['current_num'])}active background{/if}"><a href="{$ss['url']}" class="page-link">{$ss['num']}</a></li>
{/foreach}
#判断是否有后退页码
<li class="page-item {if($listpage['next'])}disabled{/if}"><a class="page-link" href="{$listpage['next']}" aria-label="Next"><span aria-hidden="true">»</span></a></li>
</ul>
{/if}

--------------------------------------------------------------------
4.内容页-文章-商品-自定义模块   
<title>{$jz['seo_title']}-{$webconf['web_name']}</title>
<meta name="keywords" content="{$jz['keywords']}" />
<meta name="description" content="{$jz['description']}" />
通用{$jz['参数']}
如文章标题:{$jz['title']} 简介:{$jz['description']}
点击量:{fun incrData('article',$jz['id'],'hits',1)}
#注意,如果是商品,article替换为product,自定义模块请替换为模块标识
----------------------------------------------------------------------
5.获取单选多选内容  
根据模型[$molds]、字段[$field]及值[$key]: 
(1)获取单选内容:{fun get_key_field_select($key,$molds,$field)}
(2)获取多选内容:{foreach get_key_field_select($key,$molds,$field) as $v} {$v} {/foreach} 多选有多个答案,用foreach循环逐个输出
根据模型[$molds]、字段[$field]获取并输出内容选项【以下都为数组,请用foreach循环输出】
{foreach get_field_select($molds,$field) as $v} {$v} {/foreach}
-----------------------------------------------------------------------
6.loop模板标签使用  
{loop table="article" tid="2" orderby="orders desc,addtime desc" isall="1" limit="4" as="v"}
	<div class="col-sm-6 item">
		<div class="row">
			<div class="col-md-12 col-lg-5"><a href="{fun gourl($v['id'],$v['htmlurl'])}"><img class="img-fluid" src="{$v['litpic']}"></a></div>
			<div class="col">
				<h3 class="name">{$v['title']}</h3>
				<p class="description">{$v['description']}</p>
			</div>
		</div>
	</div>
{/loop}

table:查询表名
tid:栏目
orderby:排序
isall:代表是否遍历子栏目(如果当前tid栏目没有内容,那么会自动查询它下级栏目的内容)
limit:输出条数
$v_key:这个是循环次数,第一次的值为0。如果循环五次,那么$v_key最后的值是4
$v_n:这个是循环计次,从1开始计算
-------------------------------------------------------------------------
7.友情链接  
#isshow="1"表示输出未关闭的友情链接
{loop table="links" isshow="1" as="v"}
链接名:{$v['title']}
链接URL:{$v['url']}
{/loop}
----------------------------------------------------------------------
8.轮播图
轮播图分类输出
#轮播图分类没有链接
{loop table="collect_type" as="v"}
轮播图分类名字:{$v['name']}
创建时间:{fun date('Y-m-d',$v['addtime'])}
{/loop}
根据分类输出轮播图
{loop table="collect" orderby="orders desc" tid="1" isshow="1" as="v"}
轮播图标题:{$v['title']}
轮播图描述:{$v['description']}
轮播图图片:{$v['litpic']}
轮播图链接:{$v['url']}
创建时间:{fun date('Y-m-d',$v['addtime'])}
{/loop}



Edit this page
Last Updated:
Contributors: RMC, 涂福
Next
网站栏目