cms帮助手册

原创 tonny  2019-05-10 14:46  阅读 1,677 次 评论 0 条

mhcms标签的详细说明

----------------------------------------------------------------------------------

SEO变量

{head['title']}               网站seo标题

{head['keyword']}             网站seo关键词

{head['description']}         网站seo描述

----------------------------------------------------------------------------------

基础全局变量

第一类:系统预设变量

{$MH['site_url']}            网站网址、是网站域名+网站路径

{$MH['site_name']}           网站名称

{$MH['tlp_name']}            网站模版名称

{$MH['tlp_path']}            网站模版路径

{$MH['mhcms_path']}        网站路径,例如 /mhcms

{$MH['site_id']}             站点编号

{$MH['map']}                 地图精准坐标,如果需要加载地图:{loadmap($MH['map'])}

{$MH['icpno']}               网站备案号

{$MH['logo']}                网站logo

{$MH['copyright']}           网站版权代码

第二类:自定义全局变量

自定义全局变量,是通过后台,“网站配置-->添加变量”即可

自定义的全局变量调用均是{$MH['变量名称']}

普通变量

{loadmap(坐标)}                获取一个坐标的地图

{$catid}                       栏目ID  这个实用于 内页(列表,文字展示,单页,频道首页)

{$id}                          ID编号,如果在列表页中调用则是,栏目id,如果在文章页中则是文章id

{$page}                        当前分页

{$dir_postion}                 当前位置

{$dir_catname}                 当前栏目名称,不推荐使用一般使用{catname($catid)}

----------------------------------------------------------------------------------

mhcms函数:

mhcms的函数除了直接使用php函数以外,mhcms还写了写简单函数方便大家使用

{catname($catid)}                              获取栏目名称

{caturl($catid)}                               获取栏目地址

{catimage($catid)}                             获取栏目封面图片地址

get_pos($catid=0,$separator='')                获取当前位置$catid栏目id,$separator为分隔字符

{strtojpg($str,$width='100',$height='24')}      将文本转换成图片

{get_images($str)}                              获取一段文本中的所有图片

{getcururl()}                                   获取当前地址

{sub_string($string, $length, $dot='')}         字符截取函数,$string是要截取的字符串,$length是截取长度数

{string2array($str)}                            字符串转换成数组

{explorer_version()}                            获得浏览器的类型

{getparentid($catid)}                            获取一个栏目的父级id,如果catid为顶级栏目,那么返回的是0

{isfinalcatid($catid)}                           判断一个栏目是否为最终栏目

{ishaschildren($catid)}                          判断一个栏目是否有子栏目

{gettopparentid($catid)}                         获取一个栏目的顶级栏目id

{hotkeywords($type='hot',$num=10,$pre='',$next=' ')} 热门关键词的调用,$type可选:

hot            热门

counts         总数

weight         权重

{morefield($mores,$limit="4")}                  多字段的调用,返回数组,主要用于,多字段, 多图, 附件

{ip2area($ip)}                                  ip转化成地区

{catstatistics(栏目ID,$today)}                  栏目统计函数,当 $today=1时,显示今日发帖量,当 $today=0时,为全部信息量

----------------------------------------------------------------------------------

其他自定义函数可以写到include/extends.func.php

{createthumb1($img,$thumb_width,$thumb_height,$ctype="1",$nopic="images/nophoto.gif")} 前台创建缩略图函数,

参数:

$img            图片地址,只能是本机图片

$thumb_width    缩略图宽度

$thumb_height   缩略图高度

$ctype          是否等比例缩放,1

{DateDiff($interval, $date1, $date2)}时间对比函数

$interval格式:

'w'  周

"d"  天

"h"  小时

"n"  分钟

"s"  秒

----------------------------------------------------------------------------------

其他经常用到的php函数

strip_tags 过滤html函数 例如,要截取 内容中的全200个字符作为描述 {sub_string(strip_tags(field:content),200,'…')}

date函数 实际上是php的时间函数,例如:我们要获取文字的时间格式:{date('Y-m-d',field:updatetime)}  2013-12-03

格式:

d - 月中的天 (01-31)

m - 当前月,以数字计 (01-12)

Y - 当前的年(四位数)

H - 小时

i - 分钟

s - 秒

y-m-d H:i:s  13-12-03 11:20:31

其他函数可以翻阅php手册

mhcms常用标签

----------------------------------------------------------------------------------

{tlp 文件名}  引用一个文件 比如  {tlp head}

{mhcms }  是前端转换成php运行

----------------------------------------------------------

category栏目、单页标签

{mh:category}html模版{/mh:category}

参数

'id'='0'             调用id,      可选

'catid'='0'          调用栏目ID   可选,一般内页做相关分类的时候需要用到

'offset'='0'         从第几条开始调用

'parentid'='0'       父级栏目id

'row'='0'            调用数目,条数

'mod'='1,2,4'        模型类型,1文字,2单页,3,系统,比如会员等,4外部连接

'nav'='0'            栏目显示位置,0表示所有,1为顶部栏目,2主导航栏目,3为底部栏目,分组根据后台行设置,

'type'=''            调用类型 top 顶级分类,self同级分类,son子级分类

示例代码

{mhcms $pid=gettopparentid($catid);}

{if $pid==0}

{mhcms $pid=$catid;}

{/if}

<li {if iset($catid) || $catid==0 }class="active"{/if}><a href="{$MH['site_url']}">首页</a></li>

{mh:category  mod="1,2,4"  nav="2" type="top"}

<li {if field:id==$pid || field:id==gettopparentid($pid) }class="active"{/if}><a href="{field:url}">{field:catname}</a>

{if ishaschildren(field:id)}

<ul>

{mh:category parentid="field:id" mod="1,2,4" nav="2" type="son"}

<li {if field:id==$pid || field:id==gettopparentid($pid) }class="active"{/if}><a href="{field:url}">{field:catname}</a>

{if ishaschildren(field:id)}

<ul>

{mh:category parentid="field:id" mod="1,2,4" nav="2" type="son"}

<li {if field:id==$pid || field:id==gettopparentid($pid) }class="active"{/if}><a href="{field:url}">{field:catname}</a></li>

{/mh:category}

</ul>

{/if}

</li>

{/mh:category}

</ul>

{/if}

</li>

{/mh:category}

代码剖析:

{mhcms $pid=gettopparentid($catid);}

{if $pid==0}

{mhcms $pid=$catid;}

{/if}

获取参数$catid的顶级分类id, 并赋值给$pid,如果顶级分类id为0或者不存在,那么说明$catid自身是属于顶级分类

{if iset($catid) || $catid==0 }class="active"{/if} 如果$catid不存在,或者为0 则表示是首页,判断首页被选择的样式,前面已经说了,$catid只属于,栏目列表,单页,和内容展示页

{mh:category  mod="1,2,4"  nav="2" type="top"}显示顶级分类的栏目,

{if ishaschildren(field:id)}如果拥有子栏目

{mh:category parentid="field:id" mod="1,2,4" nav="2" type="son"}进行显示子分类

…………可以无限级别调用

{/mh:category}

{/if}     //关闭if标签

{/mh:category}  //关闭category标签

category字段

================================================

field:id                栏目id

field:modelid           模型ID

field:parentid          父级ID

field:type              栏目类型

field:catname           栏目名称

field:domain            栏目绑定域名

field:image             栏目封面图片

field:catdir

field:url               栏目连接地址

field:setting           栏目设置为数组类型,

调用的时候,需要转换{mhcms:$rs=string2array(field:setting)},然后可以调用设置例如:

{$rs['meta_title']}        seo设置

{$rs['meta_keywords']}     seo关键词

{$rs['meta_description']}  seo描述

field:siteid            站点id

field:content           栏目内容,如果为单页的时候需要

field:navtype           导航分组

其他自定义字段

field:_自定义名称

================================================

-----------------------------------------------------------------------------------

content内容调取标签,所有参数均为可选参数

{mh:content}{/mh:content}

'catid'='$catid'               栏目id  为空,就表示所有栏目

'areaid'='0'                   区域id   可选

'posid'='0'                    推荐位1,2,3,4,5后天自行设置推荐位置

'row'='10'                     调取条数

'limit'='0'                    从地几天开始调用,例如:从第二条调用limit=1

'withthumb'='0'                是否调用图片的

'orderby'=''id''             排序规则  默认以id排序

'orderbyway'=''desc''        默认desc,倒序,可选

'subday'='0'                   调用多少天的帖子

'titlelen'='0'                 标题长度

'infolen'='0'                  简介长度

'keyword'=''''               关键词

'ismore'='0'                   是否附加字段,注意content属于附加字段

'userid'=''all''             调用每个用户的文字

================================================

示例代码:

{mh:cotent catid="5" posid="1" row="10" orderby="id" orderbyway='asc' withthumb='1' titlelen='40' infolen='180' ismore=1}

<li>【<a herf='{caturl(field:catid)}'>{catname(field:catid)}</a>】<a href="{field:url}">{field:title}</a>

<img src='{createthumb1(field:thumb,100,100,0)}'>

<p>

{sub_string(strip_tags(field:content),200,'…')}

</p>

<li>

{/mh:content}

================================================

示例剖析

{mh:cotent catid="5" posid="1" row="10" orderby="id" orderbyway='asc' withthumb='1' titlelen='40' infolen='180' ismore=1}

调用栏目等于5的头条,且包含图片的文章10条,按id升序排序,设置标题等于长度为40个文字,描述为180个文字,并且调用附加字段,

{createthumb1(field:thumb,100,100,0)}将封面图片生存100*100的缩略图,并且显示

{sub_string(strip_tags(field:content),200,'…')} 从文章过滤html以后调用200个文字作为说明,这个是需要ismore=1才可以,当然这里设置了infolen长度,我们可以采用{field:description}将显示描述的180个字符

这里的做法是为了演示,一些函数的使用特意做的

================================================

content字段

field:id              文章id

field:modelid         模型id

field:catid           栏目id

field:areaid          区域id

field:template        文章使用模版

field:title           文章标题

field:style           标题样式,颜色和加粗

field:thumb           封面图片

field:keywords        文章关键词

field:description     文字描述

field:posid           文章推荐位

field:url             文章地址连接

field:status          发布状态

field:point           文字阅读点数

field:amount          阅读钱数

field:inputtime       发布时间

field:updatetime      更新时间

field:clicks          点击次数

field:comments        评论次数

field:islink          是否外链

field:siteid          站点id

field:autoindex       循环计数器,从1开始

其他自定义字段

field:content         文章内容

……

================================================

list列表标签

----------------------------------------------------------------------------------

使用方法:

{mh:list}{/list}

参数:

catid'='$catid'         栏目名称

'row'='10'              每页显示条数

'orderby'=''id''      排序方式

'orderbyway'=''desc''

'ismore'='0'            是否调用附加字段

'page'='$page'          调用的页数

'userid'='all'          用户的帖子

代码示例:

{mh:list row="20" ismore=1}

<li><a href="{field:url}">

<span>[<a herf='{caturl(field:catid)}'>{catname(field:catid)}</a>]</span>

{field:title}

<span>{date('y-m-d',field:inputtime)}</span>

</li>

{/mh}

分页显示:

{mh:pagelist listsize="5"}

{if $pageno>1}  //判断,如总页数大于1则显示分页导航

<div>当前是 <strong>{$page}</strong> 页{$index} {$pre} {$pagelist} {$next} {$end} 共 <strong>{$totalcount}</strong> 条 <strong>{$pageno}</strong> 页</div>

{/if}

{/mh:pagelist}

说明:listsize为中间分页显示的数目,例如:上一页【1,2,3,4,5 】下一页

条件判断标签if:

-----------------------------------------------------------------------------------

{if 条件}显示结果{/if}

{if 条件1}显示1{elseif 条件2}显示2{elseif 条件3}显示3{else}其他显示{/if}

{if 条件1}显示1{else}其他显示{/if}

示例代码:

{if $no mod 2==0}<hr>{/if}

隔行换颜色

循环标签loop

----------------------------------------------------------------------------------

{loop $data $rs}{/loop}

示例代码:例如我们有个图片模型,有个字段为pics为图集类型,要调用图集类型形成相册

{mhcms $pic=morefield(field:pics,100);}

{loop $pic $rs}

{$rs[name]}

{$rs

}

{/loop}

友情连接标签

---------------------------------------------------------------------------------

{mh:flink}{/mh:flink}

参数:

withlogo:0不限制,1为图片连接

isindex:0不限制,1为推荐

typeid:后台分组

示例代码:

{mh:flink row="40" withlogo="0" isindex="0" typeid="1,2"}

<a href="{field:url}" target="_blank">{field:name}</a>|

{/mh:flink}

table万能标签

-----------------------------------------------------------------------------------

mhcms万能标签的使用主要是跨数据库的调用,为了方便站点调用其他数据库的信息,我们采用万能标签

table的使用方法

{table:数据表的名称}{/table}

参数:

where=""   查询条件sql语句

row=""     显示条数

dbhost=""  远程数据库的连接地址

dbuesr=""  远程数据库的用户名

dbpass=""  远程数据库的用户密码

dbdata=""  远程数据库

说明:

注意在同站点的调用可以不需要后面的参数,如果这样写在模版中可能会涉及到泄漏远程数据库信息,不推荐使用

mhcms内容页的使用

---------------------------------------------------------------------------------------

文章显示中内容页的使用方法

{$title}       文章标题

{$content}     文章内容

{$author}      文章作者

{$copyform}    文章来源

{$其他字段}    根据模型字段打印出需要的内容

{$content_page}    内容分页

{date('Y-m-d',$updatetime)}

==========================

<span id="hits">{js:clicks} </span>       点击次数

{js:comment}      评论次数

调用时候需要在引用:

<script language="javascript" src="/api/statistics/c.js.php?id={$id}"></script>

===========================

下一条:{getnext($id,$catid,60)}

上一条:{getpre($id,$catid,60)}

-------------------------------------------------------------------------------------

faq,常见问题

1、什么时候用field,什么时候用$?

答:field是在在标签中使用,$为变量,不需要标签支持

2、mhcms模版支持php语句吗:

答:mhcms为开放式模版,模版中支持php语句

3、为什么有的时候我模版做好了,放到服务器上不显示,出现500错误呢?

答:因为mhcms分隔字符采用的是{},而在js语句的时候,很多人直接把js写在一行,导致误解。解决办法,将js语句保存到js文件中,用<script src="url">引用进来

4、如何将本地建设好的网站传到服务器上呢?

答:先进入后台备份数据,然后上传到服务器上,进入后台还原系统

5、为什么刚建立好栏目,点击预览却出现没有找到模版呢?

答:一般mhcms有五重模版,index_*htm(频道封面)、list_*.htm列表模版、article_*.htm、single_*.htm单页模版,因为大家安装好系统,建立栏目的时候模版不存在,导致的。一般建立模版方式可以参考官方即将退出的视频

跟多问答,未来将慢慢整理

本文地址:https://www.92q.net/759.html
关注我们:请关注一下我们的微信公众号:扫描二维码塔铃的公众号
版权声明:本文为原创文章,版权归 tonny 所有,欢迎分享本文,转载请保留出处!

发表评论


表情