多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## YXcms面包屑导航标签 ~~~ 当前位置:<a href="{url()}">首页</a> > {loop $daohang $vo} <a href="{$vo['url']}">{$vo['name']}</a> > {/loop} ~~~ ## YXcms 自定义表信息调用 ~~~ {extend:{extable=(自定义表表名) field=(自定义表字段) order=(addtime desc,id desc) where=(ispass='1')}} [extend:字段] {msubstr($extend['字段'],0,220)} 截取中文字符 {substr($extend['字段'],0,220)} 截取英文字符串 {html_out($extend['字段'])} 用于还原过滤后的文章内容 {/extend} 以上调用指定自定义表中信息 ~~~ ## YXcms 友情链接调用 ~~~ {link:{table=(link) field=(name,url,type,picture,logourl) order=(norder desc,id desc) where=(ispass='1')}} {if $link['type']==1} <a href="[link:url]" target="_blank">[link:name]</a> {elseif $link['type']==2} <a href="[link:url]" target="_blank"><img src="[link:picturepath]" alt="[link:name]"></a> {/if} {/link} 以上调用友情链接名称、链接、图片 $link['type']==1 - 友情链接类型为文字类型 $link['type']==2 - 友情链接类型为图片类型 ~~~ ## YXcms TAGS标签调用 ~~~ {tag:{table=(tags) field=(name,mesnum) order=(hits desc,id desc) limit=(5)}} <a href="{url('default/index/search',array('keywords'=>urlencode($tag['name']),'type'=>'all'))}">[tag:name]</a> {/tag} 以上调用TAG名称、链接 [tag:mesnum] - TAGS文章数 ~~~ ## YXcms模板专有变量 ~~~ {$page}:翻页信息。有效范围:资讯列表、图集列表、留言列表、搜索结果页。 {$daohang}:面包屑导航。有效范围:资讯列表、资讯内容、图集列表、图集内容、单页。 {$sortlist}:当前栏目下子分类栏目信息,参照{$sorts}使用。有效范围:资讯列表、图集列表、单页。 {$rootid}:当前栏目的顶级分类栏目ID。有效范围:资讯列表、图集列表、单页。 {$upnews}:上一篇信息(一维数组)。有效范围:资讯内页、图集内页。 {$upnews['method']}:控制器/方法 {$upnews['id']}:ID {$upnews['title']}:标题 {$downnews}:下一篇信息(一维数组)。有效范围:资讯内页、图集内页。 {$downnews['method']}:控制器/方法 {$downnews['id']}:ID {$downnews['title']}:标题 {$extinfo}:拓展字段信息(二维数组)。有效范围:使用拓展字段栏目的资讯内页、图集内页。 {$extinfo[]['name']}:字段名称 {$extinfo[]['value']}:字段值 ~~~ ## YXcms常量变量标签 ~~~ {变量名}:输出变量 {常量名}:输出常量 例: {$name}:输出变量$name {CONSTANCE}:输出常量CONSTANCE ~~~ ## YXcms时间格式化标签 ~~~ PHP中使用的是Unix时间戳:以1970 年 1 月 1 日 00:00:00到某一时刻经过的秒数来计时 {date($t,Y-m-d H:i:s)} :将$t时间戳转换为 Y-m-d H:i:s 格式即:年-月-日 小时:分钟:秒。例:1985-11-15 12:00:00 {date(Y-m-d H:i:s)} : 将当前时间戳转换为 Y-m-d H:i:s 格式即:年-月-日 小时:分钟:秒。例:2013-4-1 12:00:00 ~~~ ## YXcms模版支持php标签 ~~~ 当我们需要在模板中调用php代码时,一般会采用<?php 代码 ?>,现在你也可以使用这种方式调用:{php 代码 } ~~~ ## YXcms函数标签 ~~~ 模板中我们用这种方式来调用函数:{函数名(参数1,参数2,....)} 以最常见的网址格式化函数url()在模板中调用为例: 输出网站首页URL地址:{url('default/index/index')} 输出ID为100001的资讯文章URL地址:{url('default/news/content',array('id'=>100001))} ~~~ ## YXcms if 标签 ~~~ {if 条件1} ..... {elseif 条件2} ..... {else} .... {/if} 例如在前台模板news_content.php中有这样一个判断: {if !empty($upnews)} <a href="{url($upnews['method'],array('id'=>$upnews['id']))}">{$upnews['title']}</a> {else} 没有了.... {/if} 以上判断是否还有上一篇文章,有的话输出上一篇文章链接,没有的话输出'没有了' ~~~ ## YXcms for 标签 ~~~ {for 三元条件} 循环体.. {/for} 例: {for $i=0;$i<3;$i++} 这是第{$i}个元素<br> {/for} 以上输出结果为: 这是第0个元素 这是第1个元素 这是第2个元素 ~~~ ## YXcms loop 标签 ~~~ loop是php中foreach函数的应用 {loop 数组 数组键值 数组值} 循环体.. {/loop} 例: 有这样一个数组变量:$arr=array('张三'=>'20岁','李四'=>'24岁','王二小'=>'28岁') ; 在模板中使用loop输出: {loop $arr $key $vo} {$key}的年龄是{$vo} <br> {/loop} 输出结果为: 张三的年龄是20岁 李四的年龄是24岁 王二小的年龄是28岁 ~~~ ## YXcms模板文件包含 ~~~ 模板文件相互调用采用这种方式: {include file="模板文件名"} 例: 在当前模板文件中包含arightCom.php模板文件的调用方式: {include file="arightCom"} ~~~ ## YXcms layout布局 ~~~ 在实际应用中如果每个模板都有共用的部分我们可以采用layout布局方式: 模板layout.php文件中: 共用部分.... {include file="$__template_file"} 共用部分.... 这样访问所有页面都必须先通过layout.php然后再{include file="$__template_file"} 来包含对应页面模板 ~~~ ## YXcms 查表输出 ~~~ 模板中直接查询数据库表输出数据: {自定义数组名:{table=(数据库表名) where=(查询条件) limit=(查询条数) order=(排序方式)}} {/自定义数组名} 例:调用资讯栏目ID为100001下3条数据内容 {news:{table=(news) field=(title,color,addtime) order= (recmd DESC,norder desc,id desc)where=(ispass='1'AND like '%100001%') limit=(3)}} 这是第[news:i]条 - 标题颜色:[news:color] - 标题:[news:title] - 截取3字符后标题:[news:title $len=3] - 时间:[news:addtime] <br> {/news} 以上输出结果: 这是第1条 - 标题颜色:#333 - 标题:新一代iPad 3 5.1不受限制的越狱演示 - 截取3字符后标题:新一代... - 时间:2012-07-12 23:26:20 这是第2条 - 标题颜色:#333 - 标题:自助建站与定制开发的区别 - 截取3字符后标题:自助建... - 时间:2012-07-12 23:23:05 这是第3条 - 标题颜色:#333 - 标题:网站推广的方法 - 截取3字符后标题:网站推... - 时间:2012-07-12 23:03:22 查表方式支持二重循环,但是对数据库负载较大,并不常用,在这里不做介绍 ~~~ ## YXcms 数据碎片 ~~~ {piece:自定义名称} 例:在后台:信息管理 -> 信息碎片管理 -> 添加信息碎片中添加调用标识为{piece:test},内容为'测试信息' 的碎片信息。 在前台模板中调用{piece:test} 输出结果为:测试信息 ~~~ ## YXcms 常用函数 ~~~ 函数:text_in($str) 说明:文本输入,用于textarea文本区域的内容换行和空格处理 参数: $str:字符串 函数:text_out($str) 说明:文本输出,用于textarea文本区域的内容换行和空格处理 参数: $str:字符串 函数: html_in($str) 说明:html代码输入,用于在线编辑器提交的数据过滤, 注意此函数会过滤掉iframe和js代码,且html_out()不能还原js代码 参数: $str:含html代码的字符串。 函数:html_out($str) 说明:html代码输出,用于还原过滤后的文章内容 参数: $str:经过转义后的html代码字符串 函数:get_client_ip() 说明:获取客户端ip地址 参数: 如果能成功获取ip地址,返回ip地址,否则返回'unknown'。 使用方法: $ip=get_client_ip(); 函数:msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) 说明:中文字符串截取 参数: $str:要截取的字符串。 $start:开始截取的字符,一般从0开始。 $length:截取的字符长度,按字符计算,不是按字节计算。 $charset:字符串的编码。utf-8,gbk,gb2312,big5 $suffix:字符串过长,截断之后是否显示"……"。 使用方法: msubstr($str, 0, 20);//截取20个字符 函数:is_email($user_email) 说明:检查是否是正确的邮箱地址,是则返回true,否则返回false 参数: $user_email:给定的邮箱地址。 使用方法: if(!is_email($user_email)) { echo '邮箱地址不正确'; } ~~~