Dedecms搜索页面调用文章列表的方法

余斗个人博客的搜索结果页做好之后,发现一个bug,右侧的最新文章和点击排行根本显示不出来,这里余斗用的是文章页模版的调用语句,在文章页可以正确显示,而搜索结果页则无效,代码如下:

<p>点击<span>排行</span></p>

<ul
class=
“paih”>

{dede:arclist row=
“8” orderby=
“click” titlelen=
“40”}

<li><a
href=
“[field:arcurl/]”
title=
“[field:title/]”
target=
“_blank”>[field:
title /]</a></li>

{/dede:arclist}

</ul>

余斗修改标签语句好久都不能实现,百度了一下,发现原因是由于织梦CMS的arclist标记适用范围是封面模板index.htm、列表模板list_arcitle.htm和文档模板article_article.htm,这些都是静态页面,而搜索页是动态页面,所以在搜索页面使用最新文章标签无法实现调用,而且不仅搜索页,Tags等动态页也不能调用。

经过了解,要在织梦CMS搜索页面实现最新文章调用的一种方法是使用DEDECMS提供的自定义宏标记,使用JS调用。

详细操作步骤为:

1.登陆系统后台,进入“模板——模板管理——自定义宏标记”,点击“智能标记向导”进入智能标记生成向导界面

  

2.首先选择其中一种列表样式,“调用栏目”不限栏目表示全站文章,可以在下拉菜单中选择单独分类;“限定频道”、“附加属性”与上者一样;“排列顺序”里选择发布时间表示调用最新文章,这里根据自己的需要勾选,设置好后,点击“保存为自定义标记”,

  

3.然后返回“自定义宏标记”界面,找到刚才创建的自定义标记,点击“管理”列的“JS调用”

4.复制选定的宏标记的JS调用代码,将其添加到网站模板的相应位置即可,比如余斗的就把上面的代码替换为:

<p>点击<span>排行</span></p>

<ul>

<script
src=
‘/plus/mytag_js.php?aid=1’
language=
‘javascript’></script>

</ul>

 

特别说明,这里的默认js调用是不带li标签的,也就是没有样式的,如果我们的列表有样式如li标签,则要进一步修改代码,找到刚才创建的自定义标记,点击“管理”列的“更改”

 

此时把“正常显示内容”对应框默认的代码替换下:

·[field:textlink/]([field:pubdate
function=MyDate(
‘m-d’,@me)/])<br/>

替换为

<li>[field:textlink/]([field:pubdate
function=MyDate(
‘m-d’,@me)/])</li>

如果不需要显示日期则删除

([field:pubdate
function=MyDate(
‘m-d’,@me)/])

最后:添加代码后,如果刷新页面没有显示最新文章,就重新生成下页面,即可,这样就完美解决了搜索页无法调用网站文章列表的问题,这个方法同样适用与tags标签页等动态页面。