千家信息网

解决dede:likearticle文章标签和tag标签关联错误的问题

发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,这篇文章给大家分享的是有关解决dede:likearticle文章标签和tag标签关联错误的问题的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。dede:likearticl
千家信息网最后更新 2025年01月26日解决dede:likearticle文章标签和tag标签关联错误的问题

这篇文章给大家分享的是有关解决dede:likearticle文章标签和tag标签关联错误的问题的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

dede:likearticle文章标签和tag标签关联错误怎么办?

织梦5.7有个dede:likearticle标记是用来文章的关联,但是在使用的过程中,我们却发现这个关联实在是鸡肋,作者却发现,大家在使用织梦5.7搜索的时候是不是还能勉强接受呢?作者就把dede的搜索功能给替换到这个likearticle上,看样子的确是好多了。

代码简介

作者把默认以keywords关键字来关联文章改成以tags来关联,并且加了一个判断,在执行以tags的模糊查询之后,如果查询的数据为空的话,就直接再直接再次查询本栏目下所有推荐的文章,这个比较好,就是保持着一直有返回值。

作者考虑到有的文章没有tags,而有的文章有tags却没有查询到文章,所以就先判断是否有tags如果没有就直接查询本栏目下推荐文章,如果有tags标签却查询到为空的文章那么也返回当前栏目下的推荐文章。

likearticle和tag标签关联解决方法/步骤

第1步:使用记事本或一些工具打开"根目录\include\taglib\likearticle.lib.php"此文件。

第2步:搜索"['keywords']",全部替换成['tags']并保存。

电脑互助网注;:

原代码55行:$keyword = ( !empty($refObj->Fields['keywords']) ? $refObj->Fields['keywords'] : '' );

原代码75行:if(!empty($refObj->Fields['keywords']))

原代码77行:$keywords = explode(',' , trim($refObj->Fields['keywords']));

第3步:在87行下添加"$keyword .= $keyword=='' ? " CONCAT(arc.title,arc.keywords,arc.shorttitle) REGEXP '($k)'": " OR CONCAT(arc.title,arc.keywords,arc.shorttitle) REGEXP '($k)'";"

源代码87行注销://$keyword .= ($keyword=='' ? " CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' " : " OR CONCAT(arc.keywords,' ',arc.title) LIKE '%$k%' ");

电脑互助网添加代码意思:原来的模糊查询语句,作者在这里多加了一个短标题也要查询,不过我不喜欢用linke这个模糊查询,所以在这里换成REGEXP查询。

第4步:在第107行下面添加以下代码并保存。

代码如下:

/**按tag标签关联文章内容 query2为备用,如果query为空的话,第二个就直接显示出来*/$query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp on arc.typeid=tp.id WHERE $keyword and arc.ismake = 1 and arc.id <> $arcid ORDER BY arc.sortrank desc LIMIT 0,$row";$typeids=$refObj->Fields['typeid'];//取出当前栏目ID$query2 = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp on arc.typeid=tp.id WHERE FIND_IN_SET('c', arc.flag)>0 and arc.ismake = 1 And (arc.typeid in ($typeids) or arc.typeid2 in($typeids) or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,$typeids,%' ) And arc.arcrank > -1 ORDER BY arc.sortrank desc LIMIT 0,$row";/*query3是判断是否为空用的*/$query3 = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM dede_archives arc LEFT JOIN dede_arctype tp on arc.typeid=tp.id WHERE $keyword and arc.ismake = 1 and arc.id <> $arcid ORDER BY arc.sortrank desc LIMIT 0,$row";//这里的SQL具体按自己的数据库的表字段写吧,我这是直接写死了,哎没办法,能力有限。/*这里是判断tags标签查询的是否为空值,如果是空值,就全部使用推荐返回值,如果有值,就直接显示tags关联。*/$result =mysql_query($query3);//query36判断专用的,主要是作者不会用SetQuery呀,郁闷。我是直接拼的SQLif(mysql_num_rows($result)<1){$dsql->SetQuery($query2);}else{$dsql->SetQuery($query);}

以下是源代码101行到107全部注销的图,单击图片查看大图:

以上代码意思:按tag标签关联文章内容 query2为备用,如果按tags标记查询的数据为空的话,第二个就可以用到了。

第5步:在第原代码117行下添加以下代码并保存。

代码如下:

$typeids=$refObj->Fields['typeid'];//取出当前栏目ID$query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp on arc.typeid=tp.id WHERE FIND_IN_SET('c', arc.flag)>0 and arc.ismake = 1 And (arc.typeid in ($typeids) or arc.typeid2 in($typeids) or CONCAT( ',', arc.typeid2, ',' ) LIKE '%,$typeids,%' ) And arc.arcrank > -1 ORDER BY arc.sortrank desc LIMIT 0,$row";$dsql->SetQuery($query);

以下是源代码111行到117全部注销的图,单击图片查看大图:

以上代码意思:第5步查的是当tags标签有内容时查的,第5步就是当tags标签不为空时执行的SQL。

第6步:完成之后并上传到空间,即可,作者就不演示代码后的效果了,如果非想看效果的话,看本文右侧的相关文章就明白了。

筌于一些网友对SQL不敏感,可能会认为本文写的一点都看不懂,自己也改不了,没关系,这是下载地址:likearticle.lib.rar

感谢各位的阅读!关于解决dede:likearticle文章标签和tag标签关联错误的问题就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

文章 标签 代码 查询 关联 作者 内容 推荐 错误 意思 数据 栏目 源代码 搜索 问题 图片 就是 效果 更多 标记 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全知识教育方案 网络安全需要会那些东西 软件开发工具包可以删吗 换苹果手机无法连接服务器 怎么远程管理阿里云服务器 软件开发人员可以考的证 网络安全就是防线又是底线 深圳市宏名网络技术 sql数据库不是查询 免费mssql数据库空间 睿鸿网络技术 四川云网网络技术有限公司 erp四算对比数据库 短视频软件如何搭建云服务器 上海项目软件开发正规平台 浪潮32路 服务器 ps4港服服务器下载速度 oa系统软件开发流程 MySQL数据库相关技术 网络安全管理的基本方面 jar文件无法连接数据库 得力标签机怎么导入数据库信息 幼儿园网络安全教育课件ppt 网络技术中的pos是什么意思 服务器网口怎么看百兆还是千兆 技术好的浪潮服务器哪里有 三国杀正在连接区域服务器 无锡电话软件开发售后服务 戴尔服务器怎么设置转速 dns服务器删除会有影响吗
0