逐浪CMS标签开发之相关文章列表的制作[进阶篇]

返回逐浪CMS技术讨论区
4回复贴,共1页,点击数:1612

接触逐浪CMS至今估算得有3年之久吧,我是一直专注于逐浪CMS商城系统的。

今天这个主题还要感谢重器网站长@东北小学生,他对建站的耐心令我折服。


目标效果:文章内容页添加如下图的相关文章的一个模块效果。其规则是根据当前这篇文章所设定的标签(关键词)匹配站内其他设置了相同关键词的文章


QQ截图20160711221545.jpg


实现的要点:需要用到逐浪CMS提供的一个内置的(应该叫)功能标签{ZL:GetKeyWord(@KeyWord)/}

实现过程:这个在最新版的逐浪CMS里,已经默认做好了一个标签,

(系统->标签管理->搜索"相关")可以找到

QQ截图20160711222524.jpg



接下来只需要将这个标签引用,放到模板相应的位置即可。


——————————重点了—————————————

当遇到具体的需求时,你肯定就会发现,这个标签可能不会达到你想要的效果,这是为什么呢?

官方默认的这个标签呢,可以说没有任何的条件限制,只要是设定了相同的关键词,不管你是文章,还是视频,还是商品,(尽管我没有一一测试)我相信它都会出现在相关文章里。这该怎么办呢?

拿重器网的这个功能来举例:

想要单纯的只显示相关文章,毫无疑问我们要加一个限定条件,文章所在的栏目ID或者是其他的限定条件。

QQ截图20160711223157.jpg


那就加个条件,只显示顶级栏目节点ID为3的栏目下的内容。


然并卵…………

你发现,你想要的效果会显示的乱七八糟,啥内容都有,你加的条件没起到任何作用。


为什么,为什么,为什么?


—————————我写帖子的最大特点就是啰嗦,正题才刚刚开始^_^———————————————


{ZL:GetKeyWord(@KeyWord)/}这个标签执行后的效果就是

select * from ZL_CommonModel where tagKey like '%关键词1%' OR tagKey like '%关键词2%' tagKey like '%关键词3%' and Status=99


“科普一下”,在t-sql语法里,条件的执行优先顺序是 not  and   or。当遇到or关键字时,会把条件分成左右两部,然后优先执行and的那部分。试想结果肯定就不是我们想要的了。

解决办法自然是很简单的。这样改一下:

select * from ZL_CommonModel where (tagKey like '%关键词1%' OR tagKey like '%关键词2%' tagKey like '%关键词3%' ) and Status=99


给框选的这段加上括号,结果嘛,自己试一下喽(不行你再找我^_^)。如此一来,你想要再添加任何限制条件,就直接跟后面添加即可。


对了,补充一下,制作标签时也就是需要给{ZL:GetKeyWord(@KeyWord)/}这个函数加上括号,如下图

QQ截图20160711224749.jpg



OK,啰嗦得瑟完毕,有用没用的,既然来了,支持一个回复,不胜感激!

_______________________________________________________________________


1楼 2016/07/11 22:49

是的,这个标签就是这样用的,非常棒。

2楼 2016/07/11 22:51 收起回复

男2号闪亮登场!感谢哥哥们对我器的无底限、无条件、无节操、的全力支持!!!我器定携手我柜在我浪领导下披荆斩棘、奋勇前进!!!

3楼 2016/07/11 23:10 收起回复

逐浪CMS支持随意扩展,为开发者提供快捷、自由的二次开发便捷。

4楼 2016/07/12 08:18 收起回复

学习学习,逐浪CMS标签开发先进鲜明的使用,给人不一样的创新!

5楼 2016/07/12 08:25 收起回复
您未登录,没有发贴权限[点此登录]