模板制作教程:模板变量

模块表单内容页

变量代码
说明
{$urlrule}
URL分页变量
{$meta_title}页面头部标题
{$meta_keywords}页面头部关键字,采用网站关键字
{$meta_description}页面头部描述,采用网站描述
{$id}
当前模块表单内容id
{$index}
对应的模块内容数组
{$catid}
对应的模块栏目id
{$form_name}表单中文名字
{$form_table}表单英文名字
{$uid}当前内容发布者uid
{$author}当前内容发布者账号
{$title}当前内容标题
{$inputtime}当前内容发布时间

不同自定义字段的写法不一样,具体查看自定义字段的输出标签

http://help.xunruicms.com/102.html


自定义字段输出

1、文本、多行文本、ueditor

内容页:

{$字段名}

循环内:

{$t.字段名} // $t由循环的return决定


2、多文件上传 Files

内容页:

{loop $字段名 $i $c}
标题:{$c.title}
文件原始地址:{dr_get_file($c.file)}
图片缩略图:{dr_thumb($c.file, 200, 200)}
{/loop}

循环内:

{loop $t.字段名 $i $c} // $t由循环的return决定
标题:{$c.title}
文件原始地址:{dr_get_file($c.file)}
图片缩略图:{dr_thumb($c.file, 200, 200)}
{/loop}


3、单文件字段 Files

内容页:

文件原始地址:{dr_get_file($字段名)}
图片缩略图:{dr_thumb($字段名, 200, 200)}

循环内:

文件原始地址:{dr_get_file($t.字段名)}  // $t由循环的return决定
图片缩略图:{dr_thumb($t.字段名, 200, 200)}  // $t由循环的return决定


4、联动菜单 Linkage

内容页:

联动菜单名称:{dr_linkage('address', $字段名, 0, 'name')}
联动菜单顶级的名称:{dr_linkage('address', $字段名, 1, 'name')}
面包屑导航:{dr_linkagepos('address', $字段名, ' - ')}

循环内:

// $t由循环的return决定
联动菜单名称:{dr_linkage('address', $t.字段名, 0, 'name')}
联动菜单顶级的名称:{dr_linkage('address', $t.字段名, 1, 'name')}
面包屑导航:{dr_linkagepos('address', $t.字段名, ' - ')}


5、属性参数

内容页:

{loop $字段名 $i $c}{$c.name}:{$c.value}{/loop}

循环内:

{php $t.字段名=dr_string2array($t.字段名);} // 如果自定义查询,需要加这句话,否则可以不加
{loop $t.字段名 $i $c} // $t由循环的return决定{$c.name}:{$c.value}{/loop}


6、组合购买字段 Pays

内容页:

显示价格:¥{dr_sku_price($字段名_sku, 2, ' ~ ')}元

可选商品属性组:
{loop $字段名_sku['group'] $gid $gname}    {$gname}:
    {loop $字段名_sku['name'][$gid] $vid $vname}
        {$vname}    {/loop}{/loop}

循环内:

{php $t.字段名_sku=dr_string2array($t.字段名_sku);} 

显示价格:¥{dr_sku_price($t[字段名_sku], 2, ' ~ ')}元

可选商品属性组:
{loop $t[字段名_sku]['group'] $gid $gname}    {$gname}:
    {loop $[字段名_sku]['name'][$gid] $vid $vname}
        {$vname}    {/loop}{/loop}


7、下拉选择、单选按钮字段 Select Radio

内容页:

选择值:{$字段名称}
选择的名称:
{php $field = dr_field_options(字段id号);}
{$field[$字段名称]}

循环内

选择值:{$t.字段名称}
选择的名称:
{php $field = dr_field_options(字段id号);}
{$field[$t.字段名称]}

8、复选框字段 Checkbox

内容页:

选择值:
{loop $字段名称 $value}
{$value}
{/loop}

选择的名称:
{php $field = dr_field_options(字段id号);}
{loop $field $name $value}
{if in_array($name, $字段名称)}
{$value}
{/if}
{/loop}

循环内

选择值:
{loop $t.字段名称 $value}
{$value}
{/loop}

选择的名称:
{php $field = dr_field_options(字段id号);}
{loop $field $name $value}
{if in_array($name, $t.字段名称)}
{$value}
{/if}
{/loop}


9、日期时间字段 Date

内容页:

默认时间:{$字段名}
自定义时间:{dr_date($_字段名, 'Y-m-d')}
友好的时间:{dr_fdate($_字段名)}

循环内

默认时间:{$t.字段名}
自定义时间:{dr_date($t._字段名, 'Y-m-d')}
友好的时间:{dr_fdate($t._字段名)}


10、模块内容关联字段 Re

内容页:

{if $字段}
{module module=模块目录 IN_id=$字段 return=r}
{$r.title}
{/module}
{else}
没有关联
{/if}

循环内

{if $t.字段}
{module module=模块目录 IN_id=$t.字段 return=r}
{$r.title}
{/module}
{else}
没有关联
{/if}


11、百度地图字段 BaidMap

内容页:

{dr_baidu_map($字段名, 17, '100%', '400')}
17是显示详情参数,越大,道路越清楚
100%是宽度
400是高度

循环内

{dr_baidu_map($t.字段名, 17, '100%', '400')}

12、百度编辑器 Ueditor

内容页:

{$字段名}
分页写法
{if $字段名_page}
{loop $字段名_page $pageid $pagehtml}
{$pageid}
{/loop}
{/if}


12、图片专用字段

内容页:

{loop $字段名 $i $c}
文件原始地址:{dr_get_file($c)}
图片缩略图:{dr_thumb($c, 200, 200)}
{/loop}

循环内:

{loop $t.字段名 $i $c} // $t由循环的return决定
文件原始地址:{dr_get_file($c)}
图片缩略图:{dr_thumb($c, 200, 200)}
{/loop}



单页内容页字段前缀是:$page.

栏目列表或封面页面调用栏目字段时前缀是:$cat.



模块表单发布页面

变量代码
说明
{$meta_title}页面头部标题
{$meta_keywords}页面头部关键字,采用网站关键字
{$meta_description}页面头部描述,采用网站描述
{$form}
form控件域,防止跨站提交
{$index}
对应的模块内容数组
{$catid}
对应的模块栏目id
{$form_name}表单中文名字
{$form_table}表单英文名字
{$rt_url}提交后返回的URL,默认为当前URL
{$is_post_code}是否有验证码
{$myfield}自定义字段
{$diyfield}自定义字段(手动摆放模式)


模块表单列表页面

变量代码
说明
{$urlrule}
URL分页变量
{$meta_title}页面头部标题
{$meta_keywords}页面头部关键字,采用网站关键字
{$meta_description}页面头部描述,采用网站描述
{$cid}
当前模块表单内容id
{$index}
对应的模块内容数组
{$catid}
对应的模块栏目id
{$form_name}表单中文名字
{$form_table}表单英文名字

分页显示当前模块表单列表:

{mform form=$form_table cid=$index.id page=1 urlrule=$urlrule pagesize=5}
URL:{Router::mform_show_url($form_table, $t.id, APP_DIR)}
标题:{dr_strcut($t.title, 60)} 截取60个字符
{/mform}

{$pages} 分页样式


网站首页

模板文件

index.html


变量介绍

变量代码
说明
{$meta_title}页面头部标题
{$meta_keywords}页面头部关键字,采用网站关键字
{$meta_description}页面头部描述,采用网站描述
{$indexc}
用于判断是否是首页


Tag标签页面

模板文件

tag.html


变量介绍

变量代码
说明
{$meta_title}页面头部标题
{$meta_keywords}页面头部关键字,采用网站关键字
{$meta_description}页面头部描述,采用网站描述
$tag
$tag内容数组
$parent父词数组
$related关系循环


内容举例

#测试
  #-- 内部测试
  #-- 公共测试
  #-- 什么是测试


1、调用父子关系导航

blob.png

{loop $related $t}{$t.name}{/loop}


2、调用父词信息

{if $parent}
#先判断是否存在父词
{$parent.name} 名称
{$parent.url} 地址

{/if}


3、调用tag详细信息

{if $tag.id}
#首先判断tag是否在库中
{$tag.name} 名称
{$tag.content} 内容


{/if}

tag自定义字段,必须加上$tag.前缀,具体查看自定义字段的输出标签


4、调用模块的关联内容

{related module=news field=title,url tag=$tag.tags num=5}{dr_strcut($t.title, 35)}{/related} {$debug}


5、相关内容分页显示


    
    {related module=news tag=$tag.tags page=1 pagesize=10 urlrule=$urlrule}
    
  •  {dr_strcut($t.title, 35)}
  •     {/related} {$pages}


    栏目单页面

    模板文件

    page.html


    变量介绍

    变量代码
    说明
    {$meta_title}页面头部标题
    {$meta_keywords}页面头部关键字,采用网站关键字
    {$meta_description}页面头部描述,采用网站描述
    {$urlrule}
    分页的URL规则
    $parent上级单页的数组
    $related单页的关系循环
    {$catid}当前栏目单页的id
    {$pid}上级单页id
    $pids所有上级id
    {$cat.name}栏目名称
    {$cat.dirname}目录名称
    {$child}是否包含下级
    {dr_get_file($thumb)}缩略图片

    自定义字段具体查看自定义字段的输出标签

    内容举例

    1、调用本栏目基本信息

    栏目名称:{$cat.name}
    栏目地址:{$cat.url}
    栏目缩略图:{dr_get_file($cat.thumb)}
    SEO标题 {$cat['setting']['seo']['list_title']}
    SEO关键字 {$cat['setting']['seo']['list_keywords']}
    SEO描述 {$cat['setting']['seo']['list_description']}
    .....


    2、面包屑导航

    {dr_catpos($catid, '', true, ' [name]  ')}



    4、父栏目信息

    栏目名称:{$parent.name}
    栏目地址:{$parent.url}
    栏目缩略图:{dr_get_file($parent.thumb)}
    .....


    5、顶级栏目信息

    栏目名称:{$top.name}
    栏目地址:{$top.url}
    栏目缩略图:{dr_get_file($top.thumb)}
    .....


      


    模块栏目列表页面

    模板文件

    1、栏目封面:模块目录/category.html

    2、最终栏目:模块目录/list.html

    3、自定义模板:模块目录/自定义文件.html


    变量介绍

    变量代码
    说明
    {$meta_title}页面头部标题
    {$meta_keywords}页面头部关键字,采用网站关键字
    {$meta_description}页面头部描述,采用网站描述
    $cat
    栏目的内容数组
    $parent父栏目数组
    $top顶级栏目数组
    $related栏目的关系循环
    {$catid}栏目id
    {$markid}用于导航关联
    $params用于搜索参数

    栏目自定义字段,必须加上$cat.前缀具体查看自定义字段的输出标签

    http://help.xunruicms.com/102.html


    内容举例

    1、调用本栏目基本信息

    栏目名称:{$cat.name}
    栏目地址:{$cat.url}
    栏目缩略图:{dr_get_file($cat.thumb)}
    SEO标题 {$cat['setting']['seo']['list_title']}
    SEO关键字 {$cat['setting']['seo']['list_keywords']}
    SEO描述 {$cat['setting']['seo']['list_description']}
    .....


    2、面包屑导航

    {dr_catpos($catid, '', true, '[name] > ')}


    3、分页调用当前栏目下的数据

    {module catid=$catid  order=updatetime page=1 return=rs} // 列表分页固定写法不可增加参数
    当前行数(从1开始):{$key_rs+1} 当前行数(从0开始):{$key_rs}
    标题:{$rs.title}
    地址:{$rs.url}
    描述:{$rs.description}  截取20字 {dr_strcut($rs.description, 20)}
    缩略图剪切: {dr_thumb($rs.thumb, 200, 200)} 判断有无缩略图:{if $rs.thumb}有的{else}没有{/if}
    缩略图原图: 判断有无缩略图:{if $rs.thumb} {dr_get_file($rs.thumb)}  {else}没有{/if}
    时间:{$rs.updatetime} 自定义时间:{dr_date($rs._updatetime, 'Y-m-d')}
    所属栏目;{dr_cat_value($rs.catid, 'name')} 栏目地址:{dr_cat_value($rs.catid, 'url')}
    
    =====其他字段调用方式:请点击下方《 模块内容在循环中的字段调用方式 》
    {/module}
    
    分页数量:栏目管理,找到对应的栏目,点修改,切换到模板选项,设置分页显示数量
    分页字符串:{$pages_rs}
    调试排错诊断信息:{$debug_rs} (开发者模式下才可用)

    如果在循环体内输出模块内容自定义字段输出方法,可以安装免费的插件:https://www.xunruicms.com/shop/app/402.html


    4、父栏目信息

    栏目名称:{$parent.name}
    栏目地址:{$parent.url}
    栏目缩略图:{dr_get_file($parent.thumb)}
    .....


    5、顶级栏目信息

    栏目名称:{$top.name}
    栏目地址:{$top.url}
    栏目缩略图:{dr_get_file($top.thumb)}
    .....


    栏目页的模板标签生成工具:https://www.xunruicms.com/doc/code/lists.html

    模块内容页面

    模板文件

    1、栏目封面:模块目录/show.html

    2、自定义模板:模块目录/自定义文件.html


    变量介绍

    变量代码
    说明
    {$meta_title}页面头部标题
    {$meta_keywords}页面头部关键字,采用网站关键字
    {$meta_description}页面头部描述,采用网站描述
    $cat
    栏目的内容数组
    $parent父栏目数组
    $related栏目的关系循环
    $top顶级栏目信息数组
    {$catid}栏目id
    {$markid}用于导航关联
    $params用于搜索参数
    {$urlrule}
    内容分页标签值
    $prev_page上一篇数组
    $next_page
    下一篇数组
    $tags
    内容的tag插件的数组
    $kws内容关键词搜索链接数组
    {$title}文章标题
    {$keywords}文章关键字
    {$description}文章描述
    {$hits}文章浏览数,固定
    {$uid}作者id
    {$author}作者账号
    {$url}文章地址
    {$inputtime}发布时间
    {$updatetime}更新时间
    {$comments}评论数,固定
    {$favorites}收藏数
    {$avgsort}评论平均分
    {$support}支持数量
    {$oppose}反对数量
    {$donation}捐赠总金额
    {$content}文章内容


    1、点击量累计数显示代码(需要提前加载jquery

    {dr_show_hits($id)}次


    2、上下页代码

    
        上一篇:{if $prev_page}{$prev_page.title}{else}没有了{/if}

        下一篇:{if $next_page}{$next_page.title}{else}没有了{/if}


    3、tag标签关键词代码

    {if $tags}
    {loop $tags $name $url}
    
        {$name}
    
    {/loop}
    {else}
    没有tag
    {/if}



    4、关键词链接代码(4.5.2以上才支持)

    {if $kws}
    {loop $kws $name $url}
    
        {$name}
    
    {/loop}
    {else}
    没有关键词
    {/if}


    5、栏目信息调用

    栏目:{$cat.name}
    栏目名称:{$cat.name}
    栏目地址:{$cat.url}
    栏目缩略图:{dr_get_file($cat.thumb)}
    栏目属性seo标题{$cat['setting']['seo']['list_title']}
    栏目属性seo关键词{$cat['setting']['seo']['list_keywords']}
    栏目属性seo描述词{$cat['setting']['seo']['list_description']}


    6、面包屑导航调用

    {dr_catpos($catid, '', true, '[name] > ')}


    内容自定义字段输出方法,可以安装免费的插件:https://www.xunruicms.com/shop/app/402.html


    内容页的模板标签生成工具:https://www.xunruicms.com/doc/code/show.html

    模块内容搜索页面

    模板文件

    1、栏目封面:模块目录/search.html

    2、自定义模板:模块目录/自定义文件.html


    变量介绍

    变量代码
    说明
    {$meta_title}页面头部标题
    {$meta_keywords}页面头部关键字,采用网站关键字
    {$meta_description}页面头部描述,采用网站描述
    $cat
    栏目的内容数组
    $parent父栏目数组
    $related栏目的关系循环
    {$catid}栏目id
    {$markid}用于导航关联
    {$urlrule}
    内容分页标签值
    $getURL中的参数变量数组
    $params
    搜索做的参数变量数组
    {$sototal}
    搜索结果总数据
    {$searchid}搜索结果id,用于查询结果
    {$search_sql}搜索的sql语句,用于排查错误



    搜索页面的模板标签生成工具:https://www.xunruicms.com/doc/code/search.html



    内容举例

    1、搜索列表标签循环写法

    -----搜索标签参数是固定写法不可增减,pagesize参数是控制每页显示数(可以修改)------
    {search module=MOD_DIR id=$searchid total=$sototal order=$params.order catid=$catid page=1 pagesize=5 urlrule=$urlrule return=rs}
    当前行数(从1开始):{$key_rs+1} 当前行数(从0开始):{$key_rs}
    标题:{$rs.title}
    地址:{$rs.url}
    描述:{$rs.description}  截取20字 {dr_strcut($rs.description, 20)}
    缩略图: {dr_thumb($rs.thumb, 200, 200)} 判断有无缩略图:{if $rs.thumb}有的{else}没有{/if}
    时间:{$rs.updatetime} 自定义时间:{dr_date($rs._updatetime, 'Y-m-d')}
    所属栏目;{dr_cat_value($rs.catid, 'name')} 栏目地址:{dr_cat_value($rs.catid, 'url')}
    
    =====其他字段调用方式:请点击下方《 模块内容在循环中的字段调用方式 》
    
    {/search}
    
    分页:{$pages_rs}
    调试排错诊断信息:{$debug_rs} (开发者模式下才可用)

    如果显示栏目模型字段,需要加参数more=1


    如果在循环体内输出模块内容自定义字段输出方法,可以安装免费的插件:https://www.xunruicms.com/shop/app/402.html

    2、调用本栏目基本信息

    栏目名称:{$cat.name}
    栏目地址:{$cat.url}
    栏目缩略图:{dr_get_file($cat.thumb)}
    .....


    3、搜索排序的写法

      时间排序 
      点击排序 
      评论排序 
      评分排序 
      支持量排序 
      赞助排序 


    4、各种筛选条件的组合写法可以参考自带的demo模板:

    xunruicms安装包 /template/pc/default/home/demo/search.html


    循环计数变量序号

    module、category、list等全部循环标签都带有序号变量

    {module module=aaa}
    
    当前行数(从1开始):{$key+1} 当前行数(从0开始):{$key}
    判断是否第一条,{if $is_first}第一条{/if}
    判断是否最后一条,{if $is_last}最后一条{/if}
    
    {/module}

    如果带有return=xx的写法是:

    {module module=aaa return=xx}
    
    当前行数(从1开始):{$key_xx+1} 当前行数(从0开始):{$key_xx}
    判断是否第一条,{if $is_first}第一条{/if}
    判断是否最后一条,{if $is_last}最后一条{/if}
    
    {/module}


    loop循环写法:

    {loop $xx $c}
    
    当前行数(从1开始):{$key_c+1} 当前行数(从0开始):{$key_c}
    {/loop}


    ====================

    自定义循环计数变量方法,适用于循环体内输出循环次数,比如loop、module、category标签等等

    {php $my_key=0;} // 初始化计数变量从0开始
    {循环标签开始 .........}
    当前数值:{$my_key}
    {php $my_key++;} // 累加计数变量, 写在【{/】之前
    {/循环标签结束}


    ====================

    a-z序号显示方式,适用于循环体内输出循环次数,比如loop、module、category标签等等

    {php $arr=range('A','Z');$my_key=0;} // 初始化计数变量从0开始
    {循环标签开始 .........}
    当前数值:{$my_key}
    A_Z值:{$arr[$my_key]}
    {php $my_key++;} // 累加计数变量, 写在【{/】之前
    {/循环标签结束}


    ====================
    0和1循环显示方法(此方法由小黄人大佬分享)

    {if ($key+1)%2==0}1{else}0{/if}