VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
华纳云最新优惠促销活动
jtti最新优惠促销活动

织梦dedecms实现字母索引搜索功能(织梦设置的关键字不可见)

locvps
主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

织梦dedecms实现字母索引搜索功能(织梦设置的关键字不可见)

具有“字母索引”功能的DEDE系统。

实现方法如下

第一步:首先,我们必须修改数据库结构并添加用于存储拼音的字段。(推荐研究:Dreaming cms)

修改dede_archives表,添加pytitle,varchar(250),并允许其为空。下面是创建表的SQL,仅供参考。红色部分是新的部分,可以用phpmyadmin直接修改表结构来实现。

创建表` dede _ archives `(` id ` int(11)unsigned NOT NULL auto _ increment,` typeid ` int(11)unsigned NOT NULL default‘0‘,` typeid 2 ` int(11)unsigned NOT NULL default‘0‘,` sort rank ` int(11)NOT NULL default‘0‘,` iscommend ` small int(6)NOT NULL ` source ` varchar(50)NOT NULL default“、` litpic ` varchar(100)NOT NULL default“、` pubdate ` int(11)NOT NULL default‘0′、` senddate ` int(11)NOT NULL default‘0′、` adminid ` int(11)NOT NULL default‘0′、` memberid ` int(11)unsigned NOT NOT NOT ` lock likeid ` smallint(6)NOT NULL DEFAULT‘0‘,` likeid ` varchar(240)DEFAULT“,` py title ` varchar(250)DEFAULT NULL,主键(` id `),键` click `(` click `),键` senddate `(` senddate `),键` typeid `(` ty 第二步:获取文章标题的拼音首字母并将其保存在数据库中。

要修改的文件有:

Article_add.php、article_add_action.php、article_edit.php和article_eidt_action.php是分别通过添加文章和修改文章来控制的四个文件。

将article_add.php修改为:

& lttd & gt& ltinput name =“is commend“type =“checkbox“id =“is commend“value =“11 “& gt。被推荐的

将article_edit.php修改为:

& lttd & gt& lt输入name =“is commend“type =“checkbox“id =“is commend“value =“11 “& lt?PHP if($ arcRow【& quot;iscommend & quot】& gt10)回显“已检查”;?& gt& gt被推荐的

将article_add_action.php修改为:

//获取拼音代码if($ u pinyin = = 1)$ py title = str _ replace(“_“,““,GetPinyin($ title,1));//添加到数据库的SQL语句//————————————$ inquery =“insert into dedicated _ archives(typeid,typeid2,sort rank,iscommend,ismake,channel,arc rank,click,money,title,shorttitle,color,writer,source,litpic,pubdate,senddate,arcatt,adminID,memberID,description,keywords,templet,redirecturl,#39;$ typeid 2′,‘$ sort rank‘,& amp#39;$ iscommend,& amp#39;$ ismake,& amp#39;$ channelid,$ arcrank,& amp#39;0′,‘$ money‘,& amp#39;$ title,& amp#39;$ shorttitle,& amp#39;$ color,& amp#39;$ writer,& amp#39;$ source,& amp#39;$ litpic,$ pubdate,& amp#39;$ senddate,& amp#39;$ arcatt & amp;#39;$ adminID,& amp#39;0′,‘$ description‘,& amp#39;$ keywords,& amp#39;$ templet,& amp#39;$redirecturl“,“$ py title“);";通过系统函数GetPingyin获取文章标题的拼音首字母,生成insert语句,并将标题的拼音首字母保存到pytitle字段。

同样,将article_eidt_action.php修改为:

//name if($ u pinyin = = 1)$ py title = str _ replace(“_“,““,GetPinyin($ title,1));//更新数据库的SQL语句//——————————————$ inquery =“updated _ archives set typeid =‘$ typeid‘,typeid 2 =‘$ typeid 2‘,sort rank =‘$ sort rank‘,redirecturl =‘$ redirecturl‘。is commend =‘$ is commend‘,is make =‘$ is make‘,arc rank =‘$ arc rank‘,money =‘$ money‘,title =‘$ title‘,color =‘$ color,writer =‘$ writer‘,source =‘$ source‘,litpic =‘$ litpic‘,pubdate =‘$ pubdate‘,description =‘$ description‘,keywords =‘$ keywords‘,templet =‘$ templet‘,short title =‘$ short title‘,arc";第三步是修改主页模板,或其他需要使用此功能的模板。

& ltdiv & gt中文按首字母排列:

第四步是通过search.php实现搜索。dedecms不允许少于3个字符的搜索,因此我们需要修改它。

修改/plus/search.php文件,修改后的部分为红色:

//判断是否为初始搜索if((搜索类型

修改/包含/Inc _ arcsearch _ view.php,目标:

获取字母关键字,生成新的$searchtype条件,获取$ TERM关键字,并调用不同的显示模板。

好的,我们继续修改如下,红色部分是新的或修改的部分。

修改函数GetKeywordSql()函数并添加:

//初始搜索支持if($ this-》;search type = =“py title“){ $ kw SQL。=“和dede_archives.pytitle,如‘$ this-& gt;关键字%“;}建议放在foreach($ ks as $ k){…}下

第六步,通过以上,已经实现了字母索引,但是调用了系统的搜索模板,不适合字母索引,所以我们需要更进一步,添加新的模板支持。

1.修改/include/Inc _ arcsearch _ view.php并修改function __construct()构造函数。用于:

if($ this-& gt;search type = =“py title“)$ tempfile = $ GLOBALS【& amp;#39;cfg _ basedir & amp#39;].$ GLOBALS【& amp;#39;cfg _ templets _ dir & amp#39;]."/".$ GLOBALS【& amp;#39;cfg _ df _ style & amp#39;]."/".$ GLOBALS【& amp;#39;cfg _ templets _ pysearch & amp#39;];else $ tempfile = $ GLOBALS【& amp;#39;cfg _ basedir & amp#39;].$ GLOBALS【& amp;#39;cfg _ templets _ dir & amp#39;]."/".$ GLOBALS【& amp;#39;cfg _ df _ style & amp#39;].“/search . htm“;目标是确定当$searchtype==pytitle时,调用由全局变量CFG _ templates _ pysearch定义的模板。

2.修改include/config_hand.php文件。添加全局变量CFG _ templates _ pysearch。

//拼音搜索模板$ CFG _ templates _ py search =‘pylist . htm‘;然后,您可以在模板文件夹中添加一个pylist.htm模板来显示字母列表的结果。

第七步,还没有结束。如果我想限制显示范围怎么办?例如,我只想展示软件,或一列的显示,并进一步深入。

事实上,搜索支持许多参数,例如$typeid(列号)、$channeltype(文章类型号)和$orderby(排序方法)。你知道现在该做什么吗?

我还不知道。这里有一个例子:

& lta href =“/plus/search . PHP?关键词= a & amp搜索类型=pytitle&amp。typeid = 2 & amp$ channeltype = 3 & amp$ order by = title“& gt;A & lt/a & gt;

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:织梦dedecms实现字母索引搜索功能(织梦设置的关键字不可见) https://zhujicankao.com/109147.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 织梦dedecms实现字母索引搜索功能(织梦设置的关键字不可见)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!