织梦dedecms只搜索栏目名称,结果为栏目列表,而不是文章列表的/plus/search.php插件

一,需要把/include/arc.searchview.class.php,复制一份,重命名为
arc.searchview_type.class.php 然后,把新文件中的类名修改为
class SearchView_type{
//省略…}
在plus/serach.php中直接引用这个文件,并实例化$sp = new SearchView_type(//……..);即可.这样的好处是,不与文章的默认搜索功能冲突.相互独立.

二,arc.searchview_type.class.php的修改部分
首先,把function CountRecord()整体替换为

    /**
     *  统计列表里的记录
     *
     * @access    public
     * @return    string
     */
    function CountRecord(){
        if(isset($GLOBALS['PageNo']))
        {
            $this->PageNo = intval($GLOBALS['PageNo']);
        }
        else
        {
            $this->PageNo = 1;
        }
            $qq=$this->Keyword;
             $row = $this->dsql->GetOne("SELECT count(id) as c FROM `#@__arctype` WHERE ishidden=0 and typename like '%$qq%' ");
            $this->TotalResult=$row['c'];
    }

然后,修改 function GetArcList ()

即把sql替换一下

$query = "SELECT arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,
act.namerule2,act.ispart,act.moresite,act.siteurl,act.sitepath
            FROM `{$this->AddTable}` arc LEFT JOIN `#@__arctype` act ON arc.typeid=act.id
           WHERE {$this->AddSql} $ordersql LIMIT $limitstart,$row";

替换为

$qq=$this->Keyword;
$query ="SELECT * FROM `#@__arctype` WHERE ishidden=0 and typename like '%$qq%' LIMIT $limitstart,$row";

然后在

$row["id"]=$row["aid"];//这句的下面增加
$row["typeurl"] ='/plus/list.php?tid='.$row["id"];//方便前台调用栏目地址,其它row不需要的字段删除一下.比如$row["money"]等

search.htm模板上显示结果方法为

  {dede:list perpage='20'}
                <li>                    
                    <h3><a href="[field:typeurl/]" target="_blank">[field:typename/]</a></h3>
                    <p>栏目描述:[field:description/]</p>
                    <span>
                    </span>
                </li>
            {/dede:list}

搜索按钮为

 <form name="formsearch" action="{dede:global.cfg_cmsurl/}/plus/search.php">

      <input type="text" name="q"placeholder="搜索"/>
      <input type="submit" value="点击搜索"/>
    </form>

如果搜索页上type标题等不显示.查看说明http://blog.csdn.net/viqecel/article/details/80058257
请打赏谢谢大佬

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值