首页建站经验 dede地区联动搜索 彻底解决办法

dede地区联动搜索 彻底解决办法

本例以文章模型为列子
0 添加 联动类型 地区 1 plus/search.php

本例以文章模型为列子
0 添加 联动类型 地区

1 plus/search.php
<?php
require_once(dirname(__FILE__)."/../include/common.inc.php");
require_once(DEDEINC."/arc.searchview.class.php");

$pagesize = (isset($pagesize) && is_numeric($pagesize)) ? $pagesize : 10;
$typeid = (isset($typeid) && is_numeric($typeid)) ? $typeid : 0;
$nativeplace = (isset($nativeplace) && is_numeric($nativeplace)) ? $nativeplace : 0;
$channeltype = (isset($channeltype) && is_numeric($channeltype)) ? $channeltype : 0;
$kwtype = (isset($kwtype) && is_numeric($kwtype)) ? $kwtype : 1;
$mid = (isset($mid) && is_numeric($mid)) ? $mid : 0;

if(!isset($orderby)) $orderby=”;
else $orderby = eregi_replace(‘[^a-z]‘,”,$orderby);

if(!isset($searchtype)) $searchtype = ‘titlekeyword’;
else $searchtype = eregi_replace(‘[^a-z]‘,”,$searchtype);

if(!isset($keyword)) $keyword = ”;

$oldkeyword = $keyword;

$keyword = FilterSearch(stripslashes($keyword));

//查找栏目信息
if(empty($typeid))
{
    $typenameCacheFile = DEDEROOT.’/data/cache/typename.inc’;
    if(!file_exists($typenameCacheFile) || filemtime($typenameCacheFile) < time()-(3600*24) )
    {
        $fp = fopen(DEDEROOT.’/data/cache/typename.inc’, ‘w’);
        fwrite($fp, "<"."?php/r/n");
        $dsql->SetQuery("Select id,typename From `ym_arctype`");
        $dsql->Execute();
        while($row = $dsql->GetArray())
        {
            fwrite($fp, "/$typeArr[{$row['id']}] = ‘{$row['typename']}’;/r/n");
        }
        fwrite($fp, ‘?’.'>’);
        fclose($fp);
    }
    //引入栏目缓存并看关键字是否有相关栏目内容
    require_once($typenameCacheFile);
    if(isset($typeArr) && is_array($typeArr))
    {
        foreach($typeArr as $id=>$typename)
        {
            $keywordn = str_replace($typename, ‘ ‘, $keyword);
            if($keyword != $keywordn)
            {
                $keyword = $keywordn;
                $typeid = $id;
                break;
            }
        }
    }
}

$keyword = addslashes(cn_substr($keyword,30));

if($cfg_notallowstr !=” && eregi($cfg_notallowstr,$keyword))
{
    ShowMsg("你的搜索关键字中存在非法内容,被系统禁止!","-1");
    exit();
}

//if(($keyword==” || strlen($keyword)<0) && empty($typeid))
//{
//    ShowMsg(‘关键字不能小于2个字节!’,'-1′);
//    exit();
//}

//检查搜索间隔时间
$lockfile = DEDEROOT.’/data/time.lock.inc’;
if(!file_exists($lockfile)) {
    $fp = fopen($lockfile,’w');
    flock($fp,1);
    fwrite($fp,time());
    fclose($fp);
}

//开始时间
if(empty($starttime)) $starttime = -1;
else
{
    $starttime = (is_numeric($starttime) ? $starttime : -1);
    if($starttime>0)
    {
       $dayst = GetMkTime("2008-1-2 0:0:0") – GetMkTime("2008-1-1 0:0:0");
       $starttime = time() – ($starttime * $dayst);
  }
}

$t1 = ExecTime();

$sp = new SearchView($typeid,$keyword,$orderby,$channeltype,$searchtype,$starttime,$pagesize,$kwtype,$mid,$nativeplace);
$keyword = $oldkeyword;
$sp->Display();

//echo ExecTime() – $t1;
?>

2 templets/default/search.htm




{<span class="wp_keywordlink">dede</span>:global.cfg_webname/}_搜索结果
css" rel="stylesheet" type="text/css" media="screen" />


    

{dede:global.cfg_webname/}


    


    


      


        

搜索


        


          
          




<script language="javascript" type="text/javascript" src="{dede:global.cfg_indexurl/}/images/enums.js"></script>
<script language=’javascript’ type=’text/javascript’ src=’{dede:global.cfg_indexurl/}/data/enums/nativeplace.js’></script>
<script language="javascript" type="text/javascript">MakeTopSelect("nativeplace", 0);</script>

          
                  
        


        

        


            高级搜索
            返回首页
        


    



    


        搜索 {dede:global name=’keyword’/} 的结果
    



    
{dede:list perpage=’20′}

    


        

[field:title/]


        

[field:description/]…


        


             分类: [field:typename/]
            点击: [field:click/]
            日期: [field:stime/]
        


        

http://www.cuoxin.com/wen/2019/10-14/[field:arcurl/]


    


{/dede:list}


    


            {dede:pagelist listsize=’5′/}  
        


    

相关搜索:


    

            {dede:likewords num=’8′/}
        


             为了支持织梦团队的发展,请您保留织梦内容管理系统的链接信息.
        我们对支持织梦团队发展的朋友表示真心的感谢!织梦因您更精彩!
    –>
    


        Powered by dedecms.com" title="织梦内容管理系统(DedeCms)–国内最专业的PHP网站管理系统,轻松建站的首选利器。" target="_blank">DedeCMS ? 2004-2008 DesDev Inc.
    


    


 

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/21279.html
上一篇通过增加标签使dede模板的title中显示标题全文
下一篇 Dede发布文章时输入Tag标签逗号自动变成英文标点
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部