节点/分类标签

节点列表

<!--{iCMS:node:list
  loop  = "true"
  row   = "10"
  id   = "1"
  id  != "1"
  cache = "true"
  time  = ""
  appid = ""
  ids  = ""  
  pids  = ""
  stype = ""

  as    = ""
  start = "0"
  step  = ""
  max   = ""
}-->

<!--{$node_list|print_r}-->

<!--{/iCMS}-->

使用范围

  • 所有模板

属性介绍

属性 可选值 说明
loop true 循环标记
row 10 返回行数
id 1|1,2,3 栏目ID,多项请用,隔开
id! 1|1,2,3 排除的栏目ID,多项请用,隔开
pids 属性值|1,2,3 属性值,多项请用,隔开
cache true 启用缓存
time 3600 缓存时间
appid 2,3,4 应用ID
mode 2,3,4 应用ID
stype top,sub,self,suball top:顶级栏目<br /> sub:子级栏目 <br /> self:同级栏目 <br /> suball:所有子级栏目
as 变量别名
start 0 开始索引号
step 1 步进值
max 最大索引值

调用方式

* <!--{$node_list.total}-->    总条数
* <!--{$node_list.prev}-->     上一条行号 (从1开始)
* <!--{$node_list.next}-->     下一条行号 (从1开始)
* <!--{$node_list.rownum}-->   行号 (从1开始)
* <!--{$node_list.index}-->    索引号 (从0开始)
* <!--{$node_list.first}-->    第一条为true 否则flase
* <!--{$node_list.last}-->     最后一条为true 否则flase

<!--{$node_list.name}-->         节点名称
<!--{$node_list.title}-->        节点SEO标题
<!--{$node_list.url}-->          节点网址
<!--{$node_list.description}-->  节点简介
<!--{$node_list|print_r}-->      查看所有内部变量
  • page = "true" 时 可调用分页标签
<!--{$iCMS.PAGE.NAV}-->
  • sub="all" 时 可获取所有子节点

常用示例

  • 获取 10个顶级节点
<!--{iCMS:node:list loop="true" stype="top" row="10"}-->
 <a href="<!--{$node_list.url}-->"><!--{$node_list.name}--></a>
<!--{/iCMS}-->
  • 获取 10个节点
<!--{iCMS:node:list loop="true" row="10"}-->
 <a href="<!--{$node_list.url}-->"><!--{$node_list.name}--></a>
<!--{/iCMS}-->
  • 获取 栏目ID [1] 下 10个子节点
<!--{iCMS:node:list loop="true" row="10" stype="sub" id="1"}-->
  <a href="<!--{$node_list.url}-->"><!--{$node_list.name}--></a>
<!--{/iCMS}-->
  • 获取 栏目ID [1] 下所有子节点(包含N级子节点)
<!--{iCMS:node:list loop="true" row="100" stype="suball" id="1"}-->
  <a href="<!--{$node_list.url}-->"><!--{$node_list.name}--></a>
<!--{/iCMS}-->
  • 获取 10个顶级节点下 10个子节点
<!--{iCMS:node:list loop="true" stype="top" row="10"}-->
  顶级节点:<a href="<!--{$node_list.url}-->"><!--{$node_list.name}--></a>
    <!--{iCMS:node:list loop="true" row="10" stype="sub" id="$node_list.id" as="subcate"}-->
    子节点:<a href="<!--{$subcate.url}-->"><!--{$subcate.name}--></a> 
    <!--{/iCMS}-->
<!--{/iCMS}-->
  • 获取 10个顶级节点下所有子节点 10个子节点
<!--{iCMS:node:list loop="true" stype="top" row="10"}-->
  顶级节点:<a href="<!--{$node_list.url}-->"><!--{$node_list.name}--></a>
    <!--{iCMS:node:list loop="true" row="10" stype="sub" id="$node_list.id" as="subcate"}-->
    子节点:<a href="<!--{$subcate.url}-->"><!--{$subcate.name}--></a> 
    <!--{/iCMS}-->
<!--{/iCMS}-->

为什么子节点要用subcate调用

因为<!--{iCMS:node:list}-->有两个嵌套循环了,

为了不让数据错乱内部的<!--{iCMS:node:list}-->

必需使用as别名

所以两个以上相同标签嵌套调用都必需使用as别名

  • 父级跟子级用同一个模板 怎么获取 子栏目的同级栏目 或者 父级栏目下的子栏目
<!--{if $node.rootid}-->
子栏目的同级栏目
  <!--{iCMS:node:list loop="true" row="10" stype="sub" id="$node.rootid"}-->
  <!--{/iCMS}-->
<!--{else}-->
父级栏目下的子栏目
  <!--{iCMS:node:list loop="true" row="10" stype="sub" id="$node.id"}-->
  <!--{/iCMS}-->
<!--{/if}-->

更简单的写法

<!--{iCMS:node:list loop="true" row="10" stype="sub" id=$node.rootid|default:$node.id}-->
<!--{/iCMS}-->