CMSware搜索调用CMS SEARCH

来自站长百科
跳转至: 导航、​ 搜索

导航:返回上一页

该调用标签可实现内容列表的搜索调用.

本标签对应的系统调用函数为CMS_SEARCH()。

属性 必需 默认值 描述

<CMS action="SEARCH" return="List" NodeID="" Num="" Field="" Keywords="" Separator="" IgnoreContentID="" where="" Orderby="" TableID="" Exact="" Tpl="" Cache="" returnKey="" />

NodeID ""

调用结点ID

  • NodeID="":调用所有结点,此时需要设置TableID
  • NodeID="1,2,3,4":调用结点id分别为1,2,3,4下的内容
  • NodeID="all-10" :调用结点id为10(含所有子结点)下的内容
  • NodeID="345":调用单一结点id为345下的内容
Num ""

调用条数

  • Num="": 调用所有内容列表
  • Num="10,20": 从第10条以后(11条)开始调用,共20条记录
  • Num="page-15":分页调用,每页15条
  • Num="20":调用用20条
Field KeyWords

Field="Keywords" 搜索字段 ,默认为内容模型的Keywords字段

Keywords - 搜索关键字,比如Keywords="{$Keywords}" 当前内容的关键词
Separator - 关键字分隔符,用于多个关键字间的分隔,比如Separator="," 以 , 为分隔符"cmsware,cms,iwpc"3个关键字
IgnoreContentID -

忽略内容ID,比如搜索相关文章的时候,可以忽略掉文章本身。比如IgnoreContentID="{$ContentID}" 忽略当前内容

where -

用于附加额外的查询条件 比如where="c.Photo != "实现了只调用Photo字段不为空的内容记录,可以实现图文调用。 注意:mysql5的用户,因为字段里 NULL值的问题,如果要判断某个字段为空值,请用c.field IS NOT NULL

OrderBy -

排序 一般无需设置

  • 系统默认OrderBy="i.Top DESC,i.Sort DESC,i.PublishDate DESC": 按置顶-权重-发布时间排序
  • OrderBy="Hits_Total":按照总点击数排序
  • OrderBy="Hits_Today":按照今日点击数排序
  • OrderBy="Hits_Week":按照本周点击数排序
  • OrderBy="Hits_Month":按照本月点击数排序
  • OrderBy="Hits_Date":按照最新访问时间排序
  • OrderBy="CommentNum":按照评论总数排序
TableID -

内容模型ID 一般无需设置,系统根据NodeID的值可以自动获TableID

  • TableID="1":
Exact -

用于设置search是否为精确查询

  • Exact="1": Exact="1"为精确查询
Tpl -

指定调用的子模版

  • Tpl="list_style_1.html": 调用子模版“list_style_1.html”
Cache -

模版中的CMS调用通过使用Cache,可以大幅提升批量更新的效率. 该标签只有门户版可用

  • Cache="1": 特别注意,只有模版公共调用的部分使用Cache 才有效果,比如内容页头部的导航NODELIST调用,或者top10之类的调用,结点首页的page-10分页调用最好不要用Cache, 因为不会提升任何效率.
returnKey -

可以定义内容列表记录返回那些字段,一般列表只需要获得Title即可,而无需返回Content 等字段,使用此属性,可以一定程度上提高更新效能。 该标签只有门户版可用

  • returnKey="Title,Keywords":返回标题和关键词字段


键名 类型 描述

返回2维数组($List)

NodeID int 结点ID
ContentID int 结点归属的内容模型ID
URL string 结点名称
IndexID string 结点首页URL地址
PublishDate string 所有子结点的ID串,比如'1%2%8%9%10%11%'
TypeSort,i.Pink int 父结点ID
Sort int 父结点ID
Pink int 父结点ID
内容模型字段(N) - 根据具体的内容模型返回不同的字段值

例子 1:相关文章调用(新闻模型,内容页模版)

效果图:

Cmsware161.gif

调用代码:

<table cellspacing="1" cellpadding="3" width="95%" bgcolor="#455ca2" border="0">
<tr>
<td bgcolor="#455ca2">
<font color="#ffffff">相关文章</font>
</td>
</tr>
<tr>
<td bgcolor="#edf0f5">
<!--搜索相关文章:
搜索结点:来自变量$NodeID
搜索字段:新闻模型的Keywords字段
搜索关键字:来自变量$Keywords
返回记录数量:3条
关键字分隔符:“,”
忽略内容ID:来自变量$ContentID
-->
<CMS action="SEARCH" return="List" NodeID="{$NodeID}" Field="Keywords" Keywords="{$Keywords}" Num="3" Separator="," IgnoreContentID="{$ContentID}" 
/>
<loop name="List" var="var" key="key" >
<li>
<a href="[$var.URL]">
[$var.Title]
</a>
</li>
</loop>
</td>
</tr>
</table>

例子 2:相关软件调用(下载模型,内容页模版)

调用代码:

<CMS action="SEARCH" return="List" NodeID="{$NodeID}" Field="SoftKeywords" Keywords="{$SoftKeywords}" Num="10" Separator="," IgnoreContentID="
{$ContentID}" />
<loop name="List" var="var" key="key" >
<li>
<a href="[$var.URL]">
[$var.SoftName]
</a>
</li>
</loop>

例子 3:不同内容模型的相关内容的调用

调用代码:

<CMS action="SEARCH" return="List" NodeID="all-2" Field="Keywords" Keywords="{$Keywords}" Num="5" Separator="," IgnoreContentID="{$ContentID}" 
TableID="1" />
<loop name="List" var="var" key="key" >
<tr>
<td background="[$Skin_Images]main_personal_bg2.gif" height=28>   
<IMG height=9 src="[$Skin_Images]main_personal_button03.gif" width=10>
<a class=black href="[$var.URL]">[$var.name]</a></td>
</tr>
</loop>

说明:比如第一个内容模型是文章,第二个内容模型是下载,上述代码是在下载里边调用该软件的相关文章





参考来源[ ]