评论:。5.7有一个迪迪:之类的文章标签是用来
关联,在使用
联想的过程并不理想,然后引入dede
搜索功能代替之类的文章要好多了,有兴趣的朋友可以看看哦,或许对你有帮助
5.7。一个迪迪:之类的文章标签是用来关联,但在使用的过程中,我们
发现,该协会发现鸡肋,在5.7搜索使用dedecms的人能够接受对dede的搜索功能进行更换之类的文章,它看起来更好。
代码简介
默认的关键字关键字关联成标签关联的文章,并带有判断,在实现基于模糊
查询的标签时,如果查询数据可用,直接再直接查询本栏目所有
推荐文章,这比已经
维护的返回值好。
考虑到一些文章和一些文章不是标签,而不是标签查询的文章,以确定是否有标签,如果没有直接访问本专栏下的推荐文章,如果有标签查询的标签是空的,然后返回当前部分根据推荐的文章。
之类的文章和标签关联的
解决方案/措施
第一步:用记事本或其他
工具打开根
目录包括 likearticle.lib.php标签;这个
文件。
第二步:搜索{ 'keywords};他们
都是被{标签}和
保存。
计算机互助网注:
原始代码的55行:$关键字=(!空(美元refobj ->字段{ 'keywords ' })$ refobj ->字段{ 'keywords}:');
原始代码的75行:如果(!空(美元refobj ->领域'keywords{ }))
原来的77行代码:$关键词=爆炸(',',修剪($ refobj ->领域'keywords{ }));
第三步:在87线添加关键字关键字=美元;美元== concat(arc.title,arc.keywords,弧。shorttitle)regexp($ K):或concat(arc.title,arc.keywords,弧。shorttitle)regexp(k);
对于87
取消源代码: / / $关键词($关键词= == concat(arc.keywords,弧。标题,如:
连接)或% $ %(arc.keywords,弧。标题,如% $ K)%);
电脑互助网添加代码的含义:原来的模糊查询语句,在这里笔者添加了一个简短的标题也询问,但是我不喜欢用林盖的模糊查询,所以这里是正则表达式查询。
第四步:在第一百零七行下添加以下代码并保存它。
复制代码代码如下所示:
按标签副query2备用文章内容,如果查询是空的,第二将直接
显示。
* /
为查询=选择圆弧。*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,从` dnzsw04_archives `弧tp.sitepath左连接` dnzsw04_arctype ` TP弧。typeid = tp.id其中$关键词和arc.ismake arc.id arcid = 1美元和以arc.sortrank DESC LIMIT 0美元,排;
typeids美元=美元refobj ->领域'typeid{ }; / /
删除当前列的ID
query2美元=选择圆弧。*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,从` dnzsw04_archives `弧tp.sitepath左连接` dnzsw04_arctype ` TP弧。typeid = tp.id哪里find_in_set('C',弧。旗)> 0和arc.ismake(arc.typeid = 1,($ typeids)或arc.typeid2在($ typeids)或concat(','弧。typeid2 ','像',),typeids美元),和arc.arcrank > 1%。通过arc.sortrank DESC LIMIT 0美元订单,行;
/ * 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 dnzsw04_archives arc LEFT JOIN dnzsw04_arctype TP on arc.typeid=tp.id WHERE $keyword and arc.ismake arc.id $arcid = 1 and ORDER BY arc.sortrank desc LIMIT < > 0, $row; / / SQL here according to the table field own database to write it, I write this is directly dead, ah no way, ability is limited.
*
这里要确定标记标签查询是否为空值,如果它是空值,则使用所有建议的返回值,如果有值,则直接显示标记关联。
* /
结果= mysql_query美元(美元query3); / / query36判断特殊用途,最主要的
原因是,作者没有使用setquery,郁闷。我SQL直接拼写
如果(mysql_num_rows($结果)< 1){
DSQL -> setquery美元(美元query2);
其他{ }
DSQL -> setquery美元($查询);
}
下面是源代码从101行到107的映射,然后单击
图片查看大图。
上面的代码的意思是:根据标签相关的文章内容query2备用,如果标签标签查询数据是空的,第二可。
第五步:在原始代码117下添加以下代码并保存它。
复制代码代码如下所示:
typeids美元=美元refobj ->领域'typeid{ }; / /删除当前列的ID
为查询=选择圆弧。*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,从` dnzsw04_archives `弧tp.sitepath左连接` dnzsw04_arctype ` TP弧。typeid = tp.id哪里find_in_set('C',弧。旗)> 0和arc.ismake(arc.typeid = 1,($ typeids)或arc.typeid2在($ typeids)或concat(','弧。typeid2 ','像',),typeids美元),和arc.arcrank > 1%。通过arc.sortrank DESC LIMIT 0美元订单,行;
DSQL -> setquery美元($查询);
下面是源代码从111行到117的映射,然后单击图片查看大图。
上面的代码意味着:第五步是
检查标签标签
什么时候有内容,而第五步是当标签不为空时
执行的SQL。
第六步:完成并
上传到
空间后,作者不会在代码后演示效果。如果你想看到效果,你可以在文章的右边看到相关的文章。
在SQL的一些
用户不敏感,会认为写的都读不懂,你是无法改变的,没关系,这是
下载地址:likearticle.lib.rar