wanhuicms函数

wanhuicms函数

1、wanhuicms函数简介

wanhuicms函数不仅可以直接调用php函数,还可以调用系统自定义函数,还可以通过该函数直接运行php。

2、wanhuicms函数用法

wanhuicms函数是万汇CMS网站模板内特有的函数方法,只能用于网站模板的前台界面,如果前台页面静态化处理了,运用该函数也会将获取到的数据静态化。该函数可以调用以下几种数据:
1)直接调用php函数。
   如:{date('Y-m-d H:i:s',$updatetime)},该方法会将时间戳($updatetime)转换为日期格式。
2)调用系统自定义函数。
   如:{get_childrencatid($catid)},get_childrencatid()方法是系统自定义的,获取到某个栏目的所有下级栏目(包括该栏目本身)。
3)直接运行PHP方法,使用该方法需要用{wanhuicms php语言内容 ;}。
   如:{wanhuicms $more_num='12'; echo $more_num;}。
   以上定义的字段$more_num,在本页面其他地方引用,用{$more_num}(只能是定义函数的后面,前面引用无效)。

3、常用函数

     1)php函数及直接使用php代码

请翻阅php手册。

     2)万汇CMS系统函数

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

参数:$catid→需要获取栏目的名称所对应的栏目ID
注:{catname($catid)}中的$catid指的是当前栏目ID,如需获取指定栏目名称,如栏目ID为15的栏目名称可用{catname(15)}

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

参数:$catid→需要获取栏目地址所对应的栏目ID
注:{catname($catid)}中的$catid指的是当前栏目ID,如需获取指定栏目地址,如栏目ID为15的栏目地址可用{caturl(15)}

   (3)获取栏目封面图:{catimage($catid)}

参数:$catid→需要获取栏目封面图所对应的栏目ID
注:{catimage($catid)}中的$catid指的是当前栏目ID,如需获取指定栏目封面图,如栏目ID为15的栏目封面图可用{catimage(15)}

   (4)获取单页栏目内容:{catcontent($catid)}

参数:$catid→需要获取栏目内容所对应的栏目ID
注:{catcontent($catid)}中的$catid指的是当前栏目ID,如需获取指定栏目封面图,如栏目ID为15的栏目封面图可用{catcontent(15)}

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

参数:$str→文本内容;
   $width→转换后图片的宽度;
   $height→转换后图片的高度。
注:{strtojpg($str,$width='100',$height='24')}的结果为:<img src="" width="100" height="24" />,引用结果本身就含有html代码。

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

参数:$str→文本内容;
注:{get_images($str)}的结果为数组,格式如下
Array
(
    [0] => /upload/image/20151225/1451021815259966.png,
    [1] => /upload/image/20151225/1451021815259967.png,
)。

   (7)、获取当前地址{getcururl()}

注:{getcururl()}的结果包含该网站网址的参数。如:/show/?id=11&page=1&siteid=1。

   (8)、字符截取函数{sub_string($string, $length, $dot='')}

参数:$string→要截取的字符串;
   $length→截取的长度;
   $dot→截取的字符用$dot代替。如:{sub_string($string, 20, '...')}。

   (9)、获取当前浏览器类型{explorer_version()}

注:返回结果如Firefox 4。

   (10)、获取一个栏目的父级栏目ID{getparentid($catid)}

注:返回结果为数字。如{getparentid(16)},得到结果为:15。

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

注:返回结果为0或者1。
0→表示当前栏目不是最终栏目。
1→表示当前栏目是最终栏目。
代码示例:
{if isfinalcatid($catid)}
当前是最终栏目
{/if}

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

注:返回结果为0或者1。
0→表示当前栏目没有子栏目。
1→表示当前栏目有子栏目。
代码示例:
{if ishaschildren($catid)}
当前还有子栏目
{/if}

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

注:如果该栏目有顶级栏目,返回的结果是顶级栏目的id。如果该栏目本身是顶级栏目,返回结果为0。
代码示例:
{if gettopparentid($catid)}
{wanhuicms $top_catid=gettopparentid($catid);}
{else}
{wanhuicms $top_catid=$catid;}
{/if}
当前栏目的顶级栏目是:{$top_catid}

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

参数:$type→调用关键词类型。$type可设置为“hot”(表示热门关键词)、“counts”(表示使用最多的关键词)、“weight”(表示权重高的关键词)。
   $num→调用关键词总数。
   $pre→调用之前的代码。
   $next→调用之后的代码。
代码示例:
{hotkeywords($type='hot',$num=3,$pre='<li>',$next='<li>')}
前台代码:
<li><a href="/search/index.php?modelid=all&k=第一个关键词" target="_blank">第一个关键词</a></li>
<li><a href="/search/index.php?modelid=all&k=第二个关键词" target="_blank">第二个关键词</a></li>
<li><a href="/search/index.php?modelid=all&k=第三个关键词" target="_blank">第三个关键词</a></li>

   (15)、多字段调用{morefield($mores,$limit="4")}

参数:$mores→多字段的字段名。
   $limit→调用多字段的个数。
注:{morefield($mores,$limit="4")}返回的结果为数组形式,需要用{loop}{/loop}方法调用。
代码示例:
{wanhuicms $wanhui_x='第一张图|/data/attached/wanhui20151221/14506782798074.jpg`第二张图|/data/attached/wanhui20151221/14506783119592.jpg`第三张图|/data/attached/wanhui20151221/14506783143726.jpg';}
//多字段|前面的为name,后面的为url。多个字段之间用“`”割开。
{wanhuicms $dll=morefield($wanhui_x,$limit="3")}
{loop $dll $ddd}
<img src="{$ddd[url]}" alt="{$ddd[name]}"/>
{/loop}

   (16)、获取客户端IP地址{getIp()}

代码示例:
{getIp()}
显示:“58.19.59.227”。

   (17)、ip转换为地区{ip2area($ip)}

参数:$ip→需转换地区的ip地址。
代码示例:
{ip2area(getIp())}
显示:“湖北省武汉市 中国联通”。

   (18)、获取栏目下所有子栏目ID {get_childrencatid($catid)}

参数:$catid→当前的栏目ID。
注:返回数组结果。
代码示例:
{wanhuicms $catid_son_all_arr=get_childrencatid(15);}//获取栏目ID为15的所有子栏目,得到数组。
{wanhuicms $catid_son_all=implode(',',$catid_son_all_arr);}//将数组装换为以“,”连接的字符串。
{if strpos($catid_son_all,$catid)}
当前栏目是栏目ID为15的栏目的子栏目。
{/if}

   (19)、获取sql的查询结果总数 {get_cache_counts("$sql")}

参数:$sql→sql语句。

   (20)、判断是否是邮箱 {is_email($email)}

参数:$email→待判定字段。

   (21)、判断是否是网址 {is_url($url)}

参数:$url→待判定字段。

   (22)、判断是否是电话 {is_phone_fax($phone)}

参数:$phone→待判定字段。

   (23)、判断是否是图片 {is_image($file)}

参数:$file→待判定文件名。

   (24)、判断是否是视频 {is_vedio($file)}

参数:$file→待判定文件名。

   (25)、判断远程文件是否存在 {file_exists_url($url)}

参数:$url→远程文件路径。

   (26)、获取图片信息 {imageinfo($img)}

参数:$img→图片路径。

   (27)、获取前一个网页地址 {getpreurl()}

   (28)、判断是否为ip {is_ip($str)}

参数:$str→待判定字段。

   (29)、去除空白字符 {trim_str($str)}

参数:$str→待处理字段。

   (30)、根据链接地址获取域名 {getRootDomain($url)}

参数:$url→链接地址。

   (31)、使用键名比较计算数组的差集 {n_array_diff($a1,$a2)}

参数:$a1→数组1。
   $a2→数组2。
结果:返回两个数组的差集

   (32)、获取栏目配置函数 {getcatsetting($catid)}

参数:$catid→栏目ID。
返回值为数组,如:
Array
(
    [catishtml] => 0
    [ishtml] => 0
    [urlrule] => {sitedir}html/{Y}{M}/a{cid}.htm
    [listurlrule] => {catdir}list_{tid}_{page}.htm
    [islist] => 1
    [tempindex] => index_article
    [templist] => list_article
    [temparticle] => article_article
    [meta_title] => 关于我们
    [meta_keywords] => 关于 关于我们 公司介绍
    [meta_description] => 我们是专业的武汉网站建设公司,专注于......
)
代码示例:
{wanhuicms $arr = getcatsetting(18)}
{$arr['meta_title']}

   (33)、已知某字段的值,查询该表中的某字段值 {get_my_data($file,$table,$datafile,$datavalue)}

参数:$file→待查询的字段。
   $table→查询的表,需要去掉表前缀。
   $datafile→已知表的字段。
   $datavalue→已知表字段的值。
代码示例:
{get_my_data('id','module','folder','"post"')}

   (34)、已知某栏目ID,循环查找栏目父级栏目ID {get_parentid_to_topcatid($catid)}

参数:$catid→已知栏目ID。
返回值:字符串
     19,18,14
代码示例:
{get_parentid_to_topcatid(24)}//查找栏目ID为24的父级栏目,再查询24父级栏目的父级栏目,直到查询到顶级栏目。


     3)万汇CMS自定义函数

  万汇CMS自定义函数定义在网站配置→自定义函数。以下列举部分自定义函数。

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

参数:$img→图片地址,只能是本机图片
   $thumb_width→缩略图宽度
   $thumb_height→缩略图高度
   $ctype→是否等比例缩放(0:不等比缩放;1:等比缩放)
   $nopic→如果没有图片(没有$img),显示图片$nopic
注:{createthumb1()}方法的结果是图片路径,如果需要显示缩略图,需要添加<img />标签。
示例代码:
   <span>缩略图如下</span><br />
   {wanhuicms $img = "/wanhuiweb/images/logo.png";}
   <img src='{createthumb1($img,500,100,$ctype="1",$nopic="/images/nophoto.gif")}' alt="这是一个缩略图" />

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

参数:$interval→返回时间对比单位格式(w:周; d:天; h:小时; n:分钟 s:秒)
   $date1→第一个时间(一般是较早的时间),格式为时间戳。
   $date2→第二个时间(一般是较晚的时间),格式为时间戳。
注:{DateDiff($interval, $date1, $date2)}方法返回的结果是数字型。

   (3)、读取远程文件内容{geturlfile($url)}

参数:$url→远程文件路径,必须是网址,包含http://。

   (4)、获取指定栏目的第n级栏目{getcatxcatid($n,$catid)}

参数:$n→获取第n级栏目,数字型。
   $catid→需要获取的初始栏目。
注:①、$catid只能是比$n级别更低才能获取到。如$catid是第2级栏目,我们要获取第三极栏目,则无法获取,返回结果为0。
代码示例:
如栏目结构:
 1、关于我们
        2公司简介
        3公司新闻
               4 最新签约
               5 集团新闻
                    6 办公室
                    7 行政
                    8 财务
如果需要获取“财务”的第三级栏目ID,代码:{getcatxcatid(3,8)}。返回结果为:5。
如果需要获取“集团新闻”的第四级栏目,代码:{getcatxcatid(4,5)}。返回结果为:0。