主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
具有“字母索引”功能的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&。typeid = 2 & amp$ channeltype = 3 & amp$ order by = title“& gt;A & lt/a & gt;
这几篇文章你可能也喜欢:
- 修正了梦德德自定义表单添加验证码的问题(如何在梦织中创建新页面)
- 如何修改梦织DEDECMS中默认文件夹的名称?(Dreamweaver cms的数据库文件在哪里?)
- 如何使用织梦cms制作多语言网站(如何使用织梦)
- 梦想编织Dedecms留言板呼叫head.htm(梦想编织增加文章和如何修改高级参数)
- 在新窗口中打开dream CMS导航外部链接栏的方法
本文由主机参考刊发,转载请注明:织梦dedecms实现字母索引搜索功能(织梦设置的关键字不可见) https://zhujicankao.com/109147.html
评论前必须登录!
注册