## 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 '邮箱地址不正确';
}
~~~