电话:400-800-8888

联系我们

您当前位置:首页 >> 文章 >>  技术教程

xiaocms帮助文档

时间:2026-09-13 15:35:27 点击:
xiaocms 在nginx下的伪静态规则
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里面调用内容






评论-关联表单调用演示用它来扩展多种类型表单 比如产品订购等



评论内容: