余斗个人博客的搜索结果页做好之后,发现一个bug,右侧的最新文章和点击排行根本显示不出来,这里余斗用的是文章页模版的调用语句,在文章页可以正确显示,而搜索结果页则无效,代码如下:
点击排行
{dede:arclist row="8" orderby="click" titlelen="40"}
[field:title/]
{/dede:arclist}
余斗修改标签语句好久都不能实现,百度了一下,发现原因是由于织梦CMS的arclist标记适用范围是封面模板index.htm、列表模板list_arcitle.htm和文档模板article_article.htm,这些都是静态页面,而搜索页是动态页面,所以在搜索页面使用最新文章标签无法实现调用,而且不仅搜索页,Tags等动态页也不能调用。
经过了解,要在织梦CMS搜索页面实现最新文章调用的一种方法是使用DEDECMS提供的自定义宏标记,使用JS调用。
详细操作步骤为:
1.登陆系统后台,进入“模板——模板管理——自定义宏标记”,点击“智能标记向导”进入智能标记生成向导界面
2.首先选择其中一种列表样式,“调用栏目”不限栏目表示全站文章,可以在下拉菜单中选择单独分类;“限定频道”、“附加属性”与上者一样;“排列顺序”里选择发布时间表示调用最新文章,这里根据自己的需要勾选,设置好后,点击“保存为自定义标记”,
3.然后返回“自定义宏标记”界面,找到刚才创建的自定义标记,点击“管理”列的“JS调用”
4.复制选定的宏标记的JS调用代码,将其添加到网站模板的相应位置即可,比如余斗的就把上面的代码替换为:
点击排行
特别说明,这里的默认js调用是不带li标签的,也就是没有样式的,如果我们的列表有样式如li标签,则要进一步修改代码,找到刚才创建的自定义标记,点击“管理”列的“更改”
此时把“正常显示内容”对应框默认的代码替换下:
·[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])
替换为
[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])
如果不需要显示日期则删除
([field:pubdate function=MyDate('m-d',@me)/])
最后:添加代码后,如果刷新页面没有显示最新文章,就重新生成下页面,即可,这样就完美解决了搜索页无法调用网站文章列表的问题,这个方法同样适用与tags标签页等动态页面。
如果这篇博文对你有帮助,希望您可以打赏给博主余斗,以支持余斗继续坚持下去!