【摘要】 devin最近使用帝国CMS做某不知名网站,需要通过tags调用文章列表,在首页按照不同tags输出同tags下的文章列表。 这个需求可以通过tagsinfo轻松完成调用,下面说说另外一种方法,通……

devin最近使用帝国CMS做某不知名网站,需要通过tags调用文章列表,在首页按照不同tags输出同tags下的文章列表。

这个需求可以通过tagsinfo轻松完成调用,下面说说另外一种方法,通过e:loop万能标签,采用sql直接查询数据库的方法实现(嘿嘿,devin对e:loop情有独钟!)

一、帝国cms系统的tags放在哪里的

查了下帝国的数据字典,显示在phome_ecms_news表中的infotags字段,但是通过mysql去查询,没有发现这个字段,可能帝国的数据字典没有及时更新,devin使用的是7.2 UTF-8的帝国系统。

那么,7.2帝国的tags究竟放在哪里的呢?

在“dsp18_ecms_news_data_1”表中发现infotags字段以为逗号相隔形式保存了tags名称:

2368

为什么全是英文的?

哎,我还没解决标签列表页的URL优化问题,URL的参数包含标签名字,如果标签名字为中文,会导致URL非常不友好!扯远了,后续在研究看,能不能把标签列表页URL中,标签名字参数改为标签ID代替

二、MYSQL列中的数据以逗号隔开,如何查询/检索?

FIND_IN_SET 的函数可以解决你的问题,这个函数是根据字符串列表以英文逗号分隔进行检索的:

FIND_IN_SET (str, strlist) 在strlist中查找str

strlist可以是列名,查找默认是以逗号隔开

三、实现代码分享

找到了查询/检索逗号分隔数据的方法之后,就好办,通过(文章)id把dsp18_ecms_news_data_1和dsp18_ecms_news表进行连接,然后就能查询到想要的结果了,直接用e:loop+SQL实现即可

 

不过感觉这里有个缺陷,就是表名字“phome_ecms_news_data_1”,最后的尾巴数字1,如果分表多了,则最后的数字会变的。 哎还是用tagsinfo标签实现吧。

 

转载请注明:Devin >> 查询某tags的所有文章,如何调用同tags的文章

我来说说

(必须)

(必须,保密)

留言威武!

In 2017

墨刀

二十岁时打架,兄弟多,那是面子,敢惹事那叫魄力!现在打架了,悄悄的,真怕身边的朋友笑话!

从前,天天喝大酒,唱歌,通宵KTV,那叫会玩。现在低调做人,约上三五知己喝喝茶,到公园跑两圈,多陪陪家人,那叫靠谱!

不管你混的多牛逼,多有钱,做和你年龄匹配的事,这叫责任! 也叫成熟!

10年前发个脾气,牛都拉不回来。10年后生个气,转眼就觉得没必要。时间渐渐磨去了年少轻狂,也渐渐沉淀了冷暖自知。

10年前,连多愁善感都要吹得惊天动地 ,10年后,越痛越不动声色;越苦,越保持沉默 。

10年前,我们本着糊涂装明白。10年后,我们本着明白装糊涂。成长就是将你的一切都变成心静如水。

In 2016

放下,守心,承担
独立自主
敢想敢做,而能不计旁人眼光
说走就走,而能不再瞻前顾后

In 2015

愿这一年,

不再蹉跎、不作妄谈,
可以抱有千种期许,但至少播种一个开端;

不必发狠、不求看穿,
懂得各有山高水长,不必苦求同路与照看;

依然敢爱、敢离开,
从错误里汲取、在行走中放下,
平常应对平淡,平心看待平凡;

生活若能精彩更好,
但更重要的自己开心,家人幸福。

About Devin

昵称:Devin
性别:男性
邮箱:atDevin#qq.com

本人的长相


简历:

2015-2017 长虹智慧健康 .产品经理岗
2012-2015 苏宁易购 .广告媒介岗
2008-2012 中国矿大 .电子商务

简介:


男、爱生活、爱世界

许可


本博客采用“知识共享署名-非商业性使用-禁止演绎 3.0 Unported许可协议”进行许可。基于“www.atdevin.com”上的作品创作。本博未注明转载的作品皆为本博原创。

知识共享@中国大陆知识共享署名-非商业性使用-禁止演绎