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。