您现在的位置是:首页 > 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为备用,如果按tags标记查询的数据为空的话,第二个就可以用到了。
第5步:在第原代码117行下添加以下代码并保存。
第6步:完成之后并上传到空间,即可,作者就不演示代码后的效果了,如果非想看效果的话,看本文右侧的相关文章就明白了。
作者把默认以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标签
很赞哦! ()
相关教程
- PHPCMS和织梦DEDECMS对比分析
- cms基本概念dedecms,phpcms介绍
- DedeCMS, Discuz, Phpwind, PhpCMS配置安全设置方法
- phpcms和dedecms工作区别
- 帝国cms、dedecms、phpcms等负载测试
- dedecms、php168,phpcms、VeryCMS、DiyPage五款开源cms系统点评
- phpcms和dedecms有哪些区别不同
- dedecms织梦发布内容网站为空白的原因有哪些
- dedecms织梦程序安装后无法修改栏目的解决方法
- 织梦dedecms上传图片默认路径怎么修改
- 用dedecms织梦程序做中英双语网站制作方法
- 织梦dedecms首页幻灯片不显示的原因和解决办法
图文教程
dedecms建站过程中常见却不知道怎么解决的问题
虽然现在已经是凌晨1点多了,可阿光还坐在电脑前写“dedecms建站过程中的常见却不知道怎么解决的问题”这篇文章旨在记录最近的工作收获
织梦dedecms列表页怎么去除文章标题加粗
最近在用DEDECMS搭架网站的时候,我碰到这种情况:就是生成的列表模板中,列表文章标题全都加粗加黑了,这样看的特别扭。
织梦dedecms实现键盘方向键翻页功能代码实例
DEDECMS教程之实现按键盘方向键实现上一页/下一页翻页效果,这样可以提高用户体验,特别是在小说站和图片站中用的比较多。
怎么解决织梦php.ini register_globals must is Off!
最近在帮助朋友解决一些问题时发现,部分使用织梦CMS的朋友将服务器环境开启了安全模式,所以导致网站在运行时出现以下提示
相关源码
-
(自适应响应式)刷卡机POS机无线支付设备pbootcms网站源码下载本模板基于PbootCMS系统开发,为支付终端设备企业设计,特别适合POS机、移动支付终端、刷卡设备等金融科技产品展示。采用响应式布局技术,确保各类支付终端产品在不同设备查看源码 -
(自适应)包装机贴标机设备网站源码免费下载基于PbootCMS内核开发的响应式企业模板,为包装机械、贴标设备等工业领域打造,通过数字化展示提升企业专业形象。查看源码 -
(PC+WAP)绿色硅胶橡胶玩具制品营销型网站源码下载为硅胶橡胶制品及玩具行业打造的营销型网站模板,采用PbootCMS内核开发,通过模块化设计实现产品参数、安全认证、应用场景等专业内容的可视化呈现,助力企业建立可信赖的线上展示平台。查看源码 -
(自适应响应式)英文外贸汽车零配件五金机械网站模板为汽车零部件制造商与五金机械出口企业打造的响应式网站模板,内置多语言切换功能,支持产品参数表、OEM能力展示等外贸场景需求。通过结构化数据展示帮助海外买家快速理解产品规格。查看源码 -
帝国CMS7.5二次元COS漫展网站模板源码免费下载本模板基于帝国CMS 7.5版本深度开发,为二次元文化分享领域设计。采用UTF-8编码,支持中文内容展示,特别适用于COSPLAY作品展示、漫展信息发布等二次元相关内容的网站建设。模板结构清晰,布局合理,充分考虑了二次元用户群体的浏览习惯和审美需求。查看源码 -
(PC+WAP)安保服务保安保镖模板免费下载本模板基于PbootCMS内核开发,为安保服务企业量身打造。设计风格严谨专业,突出安保行业的安全、可靠特性,展示企业服务项目与实力。采用响应式设计,PC与移动端数据同步,管理便捷。模板布局合理查看源码
| 分享笔记 (共有 篇笔记) |
