您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程

dede:likearticle文章标签和tag标签关联错误是修改方法

丁倍卫2024-05-19DedeCMS教程已有人查阅

导读织梦5.7有个dede:likearticle标记是用来文章的关联,但是在使用的过程中,我们却发现这个关联实在是鸡肋,作者却发现,大家在使用织梦5.7搜索的时候是不是还能勉强接受呢?

织梦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具体按自己的数据库的表字段写吧,我这是直接写死了,哎没办法,能力有限。
以下是源代码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步:完成之后并上传到空间,即可,作者就不演示代码后的效果了,如果非想看效果的话,看本文右侧的相关文章就明白了。

本文标签:织梦cms标签 

很赞哦! ()

相关源码

  • (自适应响应式)投资理财金融机构财务管理pbootcms模板本模板基于PbootCMS系统开发,为投资理财、金融机构等行业设计。采用专业严谨的布局风格,突出金融服务行业特色,适合展示各类理财产品、投资服务和金融资讯。查看源码
  • (自适应响应式)家电维修清晰服务网站pbootcms模板免费下载本模板基于PbootCMS内核开发,为维修服务类企业打造,特别适合家电维修、设备维护等行业使用。通过简洁直观的界面设计,帮助企业快速搭建专业级服务平台,实现线上业务高效管理。查看源码
  • (自适应响应式)瓷砖大理石装修建材类网站pbootcms模板html5模板本模板基于PbootCMS开发,针对瓷砖、大理石等建材行业特点进行优化设计。采用响应式布局技术,确保产品展示效果在不同设备上都能合理呈现。模板特别强化了石材纹理的视觉表现力,帮助建材企业更好地展示产品质感。查看源码
  • 粉色家政月嫂保姆公司pbootcms网站模板(PC+WAP)为家政服务、月嫂保姆企业打造的营销型解决方案,基于PbootCMS内核开发,采用温馨粉色主题传递行业温度。PHP7.0+高性能架构支持SQLite/MySQL双数据库查看源码
  • (自适应)幽默笑话脑筋急转弯搞笑趣图博客pbootcms模板下载本模板基于PbootCMS系统开发,专为幽默笑话、搞笑趣图类网站设计。采用轻松活泼的布局风格,突出娱乐内容分享特色,适合各类笑话、段子、搞笑图片等内容展示。查看源码
  • (自适应)光伏测试仪器电站运维设备网站源码免费下载本模板为光伏检测设备与电站运维服务企业设计,采用PbootCMS内核开发,具备完整的设备展示、技术文档管理及客户服务功能模块。通过自适应结构与SEO优化框架,有效提升企业在移动端和搜索引擎中的专业形象。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐