1. <small id='FY1eM'></small><noframes id='FY1eM'>

      <i id='FY1eM'><tr id='FY1eM'><dt id='FY1eM'><q id='FY1eM'><span id='FY1eM'><b id='FY1eM'><form id='FY1eM'><ins id='FY1eM'></ins><ul id='FY1eM'></ul><sub id='FY1eM'></sub></form><legend id='FY1eM'></legend><bdo id='FY1eM'><pre id='FY1eM'><center id='FY1eM'></center></pre></bdo></b><th id='FY1eM'></th></span></q></dt></tr></i><div id='FY1eM'><tfoot id='FY1eM'></tfoot><dl id='FY1eM'><fieldset id='FY1eM'></fieldset></dl></div>
      <legend id='FY1eM'><style id='FY1eM'><dir id='FY1eM'><q id='FY1eM'></q></dir></style></legend>
    2. <tfoot id='FY1eM'></tfoot>
      • <bdo id='FY1eM'></bdo><ul id='FY1eM'></ul>

    3. dedecms织梦怎么实现按照字母搜索

      dedecms织梦怎么实现按照字母搜索,这个要怎么实现呢?下面我们来说一下该功能是如何实现的,主要的方法就是提取发布资源中第一个字母,存储到数据表中,然后进行索引。在进行本操作之前 要先备份数据库 首先 要添加数据库字段: ALTER TABLE `dede_archives`
      <legend id='mczDp'><style id='mczDp'><dir id='mczDp'><q id='mczDp'></q></dir></style></legend>
        <tbody id='mczDp'></tbody>
      <i id='mczDp'><tr id='mczDp'><dt id='mczDp'><q id='mczDp'><span id='mczDp'><b id='mczDp'><form id='mczDp'><ins id='mczDp'></ins><ul id='mczDp'></ul><sub id='mczDp'></sub></form><legend id='mczDp'></legend><bdo id='mczDp'><pre id='mczDp'><center id='mczDp'></center></pre></bdo></b><th id='mczDp'></th></span></q></dt></tr></i><div id='mczDp'><tfoot id='mczDp'></tfoot><dl id='mczDp'><fieldset id='mczDp'></fieldset></dl></div>

            <small id='mczDp'></small><noframes id='mczDp'>

                <bdo id='mczDp'></bdo><ul id='mczDp'></ul>
              • <tfoot id='mczDp'></tfoot>

                dedecms织梦怎么实现按照字母搜索,这个要怎么实现呢?下面我们来说一下该功能是如何实现的,主要的方法就是提取发布资源中第一个字母,存储到数据表中,然后进行索引。在进行本操作之前 要先备份数据库
                首先 要添加数据库字段:
                ALTER TABLE `dede_archives` ADD `fpy` VARCHAR( 40 ) NOT NULL AFTER `weight` ;
                用于保存标题的第一个字母的拼音
                打开dede/templets/article_add.htm大概在136行 (</td>上面)添加以下代码:
                <input name="F_PY" type="checkbox" id="S_PY" class="np" value="1" checked="checked">
                保存拼音,同理在article_edit.htm也需要添加
                打开dede/article_add.php 在102行以下添加:
                $fpy=$F_PY==1 ? str_replace('_','',GetPinyin(stripslashes($title),1)) : '';
                用于获得标题的拼音 找到191行 ,对刚新建的字段进行赋值,将原来的
                $query = "INSERT INTO `dede_archives`(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,source,litpic,pubdate,senddate,mid,voteid,notpost,description,keywords,filename,dutyadmin,weight) VALUES
                ('$arcID','$typeid','$typeid2','$sortrank','$flag','$ismake','$channelid','$arcrank','$click','$money','$title','$shorttitle','$color','$writer','$source','$litpic','$pubdate','$senddate','$adminid','$voteid','$notpost','$description','$keywords','$filename','$adminid','$weight');";
                改为:
                $query = "INSERT INTO dede_archives`(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,source,litpic,pubdate,senddate,mid,voteid,notpost,description,keywords,filename,dutyadmin,weight,fpy)
                VALUES('$arcID','$typeid','$typeid2','$sortrank','$flag','$ismake','$channelid','$arcrank','$click','$money','$title','$shorttitle','$color','$writer','$source','$litpic','$pubdate','$senddate','$adminid','$voteid','$notpost','$description','$keywords','$filename','$adminid','$weight','$fpy');";
                接下来 就要看search.php了,为了调用方便 我写了个标签 只需要在调用的地方添加 {dede:letter /} (include/tablib) 新建:letter.lib.php
                <?php
                if(!defined('DEDEINC'))
                {
                exit("Request Error!");
                }
                function lib_letter(&$ctag,&$refObj)
                {
                global $dsql,$sqlCt,$cfg_soft_lang,$cfg_indexurl;
                $attlist="letter|A,row|26";
                FillAttsDefault($ctag->CAttribute->Items,$attlist);
                extract($ctag->CAttribute->Items, EXTR_SKIP);
                
                $letter='';
                $le_end=64+$row;
                for($i=65;$i<=$le_end;$i++){
                $letter.="<a href='$cfg_indexurl/plus/search.php?keyword=".strtolower(chr
                
                ($i))."&searchtype=pytitle'>".chr($i)."</a> ";
                }
                return $letter;
                }
                ?>
                最后也是最关键的一部 更改search.php 默认的是不能小于2个字符的,找到plus/search.php,将
                if(($keyword=='' || strlen($keyword)<2) && empty($typeid))
                {
                ShowMsg('关键字不能小于2个字节!','-1');
                exit();
                }
                改为:
                if($searchtype<>'pytitle'){
                if(($keyword=='' || strlen($keyword)<2) && empty($typeid))
                {
                ShowMsg('关键字不能小于2个字节!','-1');
                exit();
                }
                }
                即可,找到include/arc.searchview.class.php,首先要设置sql语句 函数GetKeywordSql,找到:
                if($this->SearchType=="title"){
                $kwsqls[] = " arc.title LIKE '%$k%' ";
                }else{
                $kwsqls[] = " CONCAT(arc.title,' ',arc.writer,' ',arc.keywords) LIKE '%$k%' ";
                }
                改为:
                if($this->SearchType=="title"){
                $kwsqls[] = " arc.title LIKE '%$k%' ";
                }else if($this->SearchType=='pytitle'){
                $kwsqls[] = " CONCAT(arc.title,' ',arc.keywords,' ',arc.fpy) LIKE '%$k%' ";
                }else{
                $kwsqls[] = " CONCAT(arc.title,' ',arc.writer,' ',arc.keywords) LIKE '%$k%' ";
                }
                在此函数下 添加函数:
                function Getletter($num=26,$t,$k){
                global $cfg_indexurl;
                $le_end=64+$num;
                for($i=65;$i<=$le_end;$i++){
                if(ord(strtoupper($k))==$i){
                $letter.="<a style='background:#000;color:#fff'
                href='$cfg_indexurl/plus/search.php?keyword=".strtolower(chr($i))."&searchtype=pytitle'>".chr
                ($i)."</a> ";
                continue;
                }
                $letter.="<a href='$cfg_indexurl/plus/search.php?keyword=".strtolower(chr
                ($i))."&searchtype=pytitle'>".chr($i)."</a> ";
                }
                return $letter;
                }
                作用就是让当前搜索的字母 加亮显示,设置search的底层模板的标签 display函数,在
                else if($tagname=="likewords")
                {
                $this->dtp->Assign($tagid,$this->GetLikeWords($ctag->GetAtt('num')));
                }
                下添加
                else if($tagname=='letter' and $this->SearchType=='pytitle'){
                $this->dtp->Assign($tagid,$this->Getletter($num=26,$this->SearchType,$this->Keyword));
                }
                到此修改结束,有兴趣的朋友可以去试着改一下。
                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                在使用 DedeCMS 建站时,很多用户都会想在首页或栏目页展示热门文章,以提升网站内容的曝光率和访问量。要实现这个功能,关键在于正确使用 DedeCMS 的标签调用方式。要在dedecms中调用热门文章,需使用 arclist 标签并设置 orderby=click 按点击量排序; 1.
                我们在使用织梦dedecms的时候,发现{dede:datalist} 标签中用 [field:array runphp=yes] 或者 {dede:field name=array runphp=yes} 并不起作用,这个要怎么操作呢? 其实datalist中是不能用runphp标签的,但是可以用{dede:if} 这个标签,而且相对于runphp更好
                我们有时候在用dedecms需要及时获取到会员支付信息,比如会员支付成功后发邮件通知我们,这个要怎么操作呢? 打开 include/payment/alipay.php 文件,找到 $this-log_result("verify_success,订单号:".$order_sn); //将验证结果存入文件 在此代码下面添加如下
                dedecms织梦默认的TAG标签不是很灵活。有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag=c,h),这样全站调用的时候更灵活。 全站调用TAG标签方法一般是: {dede:tag row='100' sort='new' getall='1'}a target="_blank
                未审核文档的TAG会显示在TAG列表页面, 固然点击进入TAG时, 相关的未审核文章不会显示出来, 这样对用户体验是很不好的. DEDECMS暂时没有提供这个功能,所以要解决这个问题, 让DEDECMS不显示未审核文档的TAG, 就要修改TAG的显示库文件 tag.lib.php。 方法一 打
                我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp

                  <small id='oGOXk'></small><noframes id='oGOXk'>

                  <i id='oGOXk'><tr id='oGOXk'><dt id='oGOXk'><q id='oGOXk'><span id='oGOXk'><b id='oGOXk'><form id='oGOXk'><ins id='oGOXk'></ins><ul id='oGOXk'></ul><sub id='oGOXk'></sub></form><legend id='oGOXk'></legend><bdo id='oGOXk'><pre id='oGOXk'><center id='oGOXk'></center></pre></bdo></b><th id='oGOXk'></th></span></q></dt></tr></i><div id='oGOXk'><tfoot id='oGOXk'></tfoot><dl id='oGOXk'><fieldset id='oGOXk'></fieldset></dl></div>
                    <tbody id='oGOXk'></tbody>

                  1. <legend id='oGOXk'><style id='oGOXk'><dir id='oGOXk'><q id='oGOXk'></q></dir></style></legend>

                        • <bdo id='oGOXk'></bdo><ul id='oGOXk'></ul>
                        • <tfoot id='oGOXk'></tfoot>