location / {
if (!-e $request_filename){
rewrite ^/([\s|%200-9a-z-A-Z-_]+)/$ /index.php?catdir=$1 last;
}
rewrite ^/([\s|%200-9a-z-A-Z-_]+)/list_([0-9]+)\.html$ /index.php?catdir=$1&page=$2 last;
rewrite ^/([\s|%200-9a-z-A-Z-_]+)/([0-9]+)\.html$ /index.php?id=$2&x=$1 last;
rewrite ^/([\s|%200-9a-z-A-Z-_]+)/([0-9]+)_([0-9]+)\.html$ /index.php?id=$2&page=$3&x=$1 last;
rewrite ^/search-([\s|%200-9a-z-A-Z-_]+)\.html$ /index.php?a=search&kw=$1 last;
}2. xiaocms相关内容使用方法
首先要在内容模型里面添加相关内容字段(字段类别里选择相关内容字段)
其次,在添加文章的时候就可以添加相关内容了。
相关字段模板调用说明 注意:$xiangguan 是你添加的相关内容字段名称 具体的改成你自己的
{xiao:if $xiangguan}//如果存在相关字段则调用
{xiao:list id=$xiangguan}
这里的用法和list其他用法一直 没区别
<a href="{xiao:$xiao['url']}">·{xiao:$xiao['title']}</a> {/xiao:list}
{/xiao:if}3. XiaoCms 模板标签
所有的模板标签均由xiao:开头,常用的模板标签如下:
{xiao:$site_title} - 标题
{xiao:$site_keywords} - 关键字
{xiao:$site_description} - 简介
上面三个标签常用于页头mate,为了制作模板方便 系统封装了标题 ,如果您不满意系统封装的标题组合形式,完全可以自己填写标签 而不采用上面的标签。
{xiao:$site_url} - 网站url
加载模板标签
{xiao:template header.html} 表示加载当前模板目录下header.html模板文件
{xiao:template member/left.html} 表示加载当前模板目录下的member目录的left.html模板文件
区块调用标签
{xiao:block 5} 表示调用区块ID为 5 的内容
{xiao:$site_name} - 网站名称
{xiao:$site_template} - 网站当前应用模板目录地址, 如当前应用模板目录为default 则为标签解析为 /template/default/ 常用于保存模板 css js 图片文件路径。如果您不想您的模板目录被暴露,就建议不用此标签,不过为了方便模板的管理,此标签还是很有用。
4. XiaoCms 自定义字段调用方法
{xiao:list xiaocms=1 }这样就可以在list标签内调用自定义字段了 就是加上xiaocms=1这个参数表示调用自定义字段。如无必要就不要添加。
在内容页调用就和title之类的没什么区别了
5.XiaoCms 内容模板调用说明
自定义字段调用和其他的字段调用并
如:{xiao:$title} title 是指字段名称
如:{xiao:function.date("Y-m-d H:i:s", $time)} 调用date函数处理时间无区别 只是多文件上传需要用到xiao:loop来循环处理
多文件字段上传调用
写个列子大家一看就明白了。
xindeziduan 是你自定义字段的名称 [fileurl] [filename] 这两个是系统内置固定的不可修改 fileurl表示文件的连接地址 filename表示文件名称
{xiao:loop $xindeziduan[fileurl] $t}
{xiao:$t} 只调用文件地址不含名称
{/xiao:loop}
{xiao:loop $xindeziduan[filename] $t}
{xiao:$t} 只调用文件名称 不含地址
{/xiao:loop}
{xiao:loop $xindeziduan[fileurl] $key=>$t}
{xiao:$xindeziduan[fileurl][$key]} <br/>{xiao:$xindeziduan[filename][$key]}
名称地址一起调用
{/xiao:loop}
如果要访问第一张图片的地址怎么办(在商品展示哪里经常用到的吧)
直接{xiao:$xindeziduan[fileurl][0]} 为什么不是1呢 因为数组是从0开始的 所以0就是表示第一个
---日期自定义字段说明--
为了方便自定义字段中日期选项储存的直接是2014-05-25这样的日期格式 而不是时间戳,所以在调用自定义日期字段中可不比用date函数来转换时间。(系统内置time字段还是以时间戳来保存的)
6.XiaoCMS list标签模板调用帮助
xiao:list 这是xiaocms中最重要的标签 通过此标签能够调用各种数据 同时支持SQL语句调用。list 参数如下
catid=栏目id(如果填写的是频道id既调用本频道下所有的内容)
thumb=1 表示含有缩略图的内容
status= 表示调用自定义推荐位 具体设置请看你自己的推荐位设置(系统支持自定义推荐位)
cache =100 (单位分钟) 数据缓存时间 (注意添加此参数后 会缓存数据库查询 所以添加内容后不会立马显示,需要后台更新缓存才可以,推荐添加可以减少数据库压力)
order = 排序,例如: order=id 多个排序时候例如:order=id_asc,time_desc,默认time_desc,_desc可以不写 支持随机调用 =rand() 为随机调用(非常的不支持此方式 非常非常严重的影响性能。内容少的可以试试)
num =10 数量10条 这个最简单 并且和 sql 中的limit用法一致 如: num=2,3
pagesize = 分页大小 当栏目列表页不填写此参数时,默认调用栏目设定的分页数量。此参数配合urlrule参数可以调用表单数据分页显示
urlrule = abcd-[page].html 规则 常用于表单的前台调用显示 [page]会被自动替换成当前分页数
table = 调用的数据表 默认为content 不含前缀 如 table=member 调用会员主表 在调用表单数据的时候会经常简单
return =返回数组格式 默认为$xiao 多次list循环中会用到 实际用到的情况非常少
xiaocms=1 调用附表(如你想在列表调用你添加的自定义字段就需要添加上此参数,并且要含有catid参数或者modelid参数 不然不能识别调用哪个附表)
重点说明下 xiaocms 如没有必要尽量不要用到 会影响性能。但是此功能强大 配合自定义字段可以调用各种数据
sql=sql语句 支持sql语句调用信息 sql参数和其他参数不可同时使用 不推荐直接在sql语句中直接填写表前缀名 直接用 xiao_ 表示表前缀
如自定义模型产品中有字段 ceshi 你想调用ceshi=abc的十条内容 调用如下
{xiao:list ceshi=abc modelid=产品模型的id xiaocms=1 num=10 }
这样就调用出了产品模型中字段值 ceshi=abc的十条内容了
产品模型的自定义字段都可以在此输出显示 {xiao:$xiao['ceshi']}
{/xiao:list}
当然你可以不用填写参数条件
直接
{xiao:list modelid=产品模型的id xiaocms=1 num=10 }
产品模型的自定义字段都可以在此输出显示 {xiao:$xiao['ceshi']}
{/xiao:list}
循环调用所有栏目文章
{xiao:nav typeid=1}
{xiao:$xiao['catname']}
{xiao:list catid=$xiao[catid] num=10 }
调用显示
{/xiao:list}
{/xiao:nav}
7.XiaoCms 栏目模板调用说明
栏目循环调用以 {xiao:nav } 开头 {/xiao:nav}结束。
栏目调用可用参数如下
num = 数量 没什么好解释的,就是条数的意思
typeid = 调用栏目类型 =1表示内部栏目(最终列表页)、=2表示单页面(频道页也是一种单页)、=3表示外链
ismenu =1 表示调用隐藏的栏目 默认不调用隐藏的栏目
modelid =模型id
catid = 栏目id 支持多个栏目,多个栏目用,分割开 如 catid=1,3,5 则会调用1,3,5这三个栏目 此标签和parentid不能同时用
parentid = 上级栏目id 即父ID 如 parentid=5 则会调用栏目ID=5下面的子栏目
{xiao:if $current}on{/xiao:if}css高亮专用
{xiao:if $index}我是首页{/xiao:if}
来几个例子吧
1.当里面什么参数都不填写默认调用全部的顶级栏目 注意 xiao:nav 后面跟着两个空格然后才是 } 注意是两个空格。
{xiao:nav }
<a href="{xiao:$xiao['url']}">{xiao:$xiao['catname']}</a>
{/xiao:nav}
2.调用十个顶级栏目
{xiao:nav num=10}
<a href="{xiao:$xiao['url']}">{xiao:$xiao['catname']}</a>
{/xiao:nav}
3.调用十个顶级栏目 并且栏目类型是单页面的
{xiao:nav num=10 typeid=2}
<a href="{xiao:$xiao['url']}">{xiao:$xiao['catname']}</a>
{/xiao:nav}
4.调用十个顶级栏目 并且栏目类型是单页面的 并且把隐藏的栏目也调用出来
{xiao:nav num=10 typeid=2 ismenu=1}
<a href="{xiao:$xiao['url']}">{xiao:$xiao['catname']}</a>
{/xiao:nav}
5.调用模型id=1的顶级栏目
{xiao:nav modelid=1}
<a href="{xiao:$xiao['url']}">{xiao:$xiao['catname']}</a>
{/xiao:nav}
6.调用栏目id为 1、5、9的栏目
{xiao:nav catid=1,5,9}
<a href="{xiao:$xiao['url']}">{xiao:$xiao['catname']}</a>
{/xiao:nav}
7.调用栏目id=1的子栏目
{xiao:nav parentid=1}
<a href="{xiao:$xiao['url']}">{xiao:$xiao['catname']}</a>
{/xiao:nav}
来个的演示吧 此标签适用于N级别栏目调用
{xiao:nav num=10}//先调用出十个顶级栏目
<li class="nLi {xiao:if $current}on{/xiao:if}">//高亮专用
//循环内可以填写各种栏目字段参数支持函数哦
<h3><a href="{xiao:$xiao['url']}">{xiao:$xiao['catname']}</a></h3>
{xiao:if $xiao['child']}//判断如果存在下级栏目 如果存在则执行下面的代码
<ul class="sub">
{xiao:nav parentid=$xiao[catid] }//调用顶级栏目的子栏目 如果你想调用三级栏目 参考此代码
<li><a href="{xiao:$xiao['url']}">{xiao:$xiao['catname']}</a></li>
{/xiao:nav}
</ul>
{/xiao:if}//结束循环判断
</li>
{/xiao:nav}//结束循环调用
//配合php标签调用当前栏目的下面栏目 (在首页无效哦)
{xiao:php $topcat = get_top_cat($catid);}//通过get_top_cat函数获取当前栏目的顶级栏目信息
{xiao:if $topcat[catid]}//如果存在父栏目就执行
{xiao:nav parentid=$topcat[catid]} //把获取的顶级栏目id传入调用子栏目
<a href="{xiao:$xiao['url']}">{xiao:$xiao['catname']}</a>
{/xiao:nav}
{xiao:else}
如果没有父栏目自己看着办吧
{/xiao:if}
调用单个栏目信息怎么办,比如我想调用当前栏目的名称
列表模板可以这样写 {xiao:$catname}
内容页就是{xiao:$cat[catname]}
或者{xiao:$cats[$catid][catname]} 栏目和内容页通用
同理 把catname换成image 那就是栏目图片了。
更多的自己去研究吧 在此只列举常用的调用 配合if else php等标签可以满足各种调用
8.XiaoCms 列表调用多图片字段方式
发布时间:2015-10-13 16:03:48
多字段常用于 文件地址下载 多图片上传 列表调用方式如下
{xiao:list catid=$catid page=$page xiaocms=1}
这里是列表内循环 tuji 是多图片字段名
{xiao:php $a = unserialize($xiao[tuji]);}
====多字段循环开始=========
{xiao:loop $a[fileurl] $key=>$t}
<img src="{xiao:$t}" />
{/xiao:loop}
====多字段循环结束=========
{/xiao:list}
9.xiaoCms栏目调用 判断第一个或最后一个 常用于class判断
发布时间:2015-10-27 16:05:14
{xiao:php $i = 0; }
{xiao:nav parentid=5}
<li class="
{xiao:if $i==0}第一个{/xiao:if}
{xiao:if $i==count($return)-1}最后一个{/xiao:if}
//同理 如果要隔行换色 判断$i 是奇偶数就可以了
{xiao:if $i%2==0}a{/xiao:if}
{xiao:if $i%2!=0}b{/xiao:if}
<a {xiao:if $current}class="hover"{/xiao:if} href="{xiao:$xiao['url']}" >{xiao:$xiao['catname']}</a>
</li>
{xiao:php $i++;}
{/xiao:nav}
<a {xiao:if $current}class="hover"{/xiao:if} href="{xiao:$xiao['url']}" >{xiao:$xiao['catname']}</a>
</li>
{xiao:php $i++;}
{/xiao:nav}
标签调用还是很方便的。也可以用于list里面调用内容

