78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

织梦dedecms地区联动搜索的彻底解决办法

一流源码网在开发织梦模板的时候,需要地区联动搜索,本例以文章模型为列子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, "<"."?phprn");

        $dsql->SetQuery("Select id,typename From `ym_arctype`");

        $dsql->Execute();

        while($row = $dsql->GetArray())

        {

            fwrite($fp, "$typeArr[{$row['id']}] = ‘{$row['typename']}’;rn");

        }

        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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>{dede:global.cfg_webname/}_搜索结果</title>

<link href="{dede:global.cfg_templeturl/}/style/search.css" rel="stylesheet" type="text/css" media="screen" />

</head>

<body>

<div class="header">

    <div class="toplogo">

        <h1><a href="{dede:global.cfg_cmsurl/}/">{dede:global.cfg_webname/}</a></h1>

    </div>

    <div class="searchform">

      <form action="{dede:field name=’phpurl’/}/search.php" name="formsearch">

        <div class="s1">搜索</div>

        <div class="s2">

           <input type="hidden" name="kwtype" value="0" />

           <input name="keyword" type="text" class="search-keyword" id="search-keyword" value="{dede:global.keyword/}" />

<input type=’hidden’ id=’hidden_nativeplace’ name=’nativeplace’ value=’0′ />

<span id=’span_nativeplace’></span>

<span id=’span_nativeplace_son’></span>

<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>

<input type=’hidden’ name=’dede_addonfields’ value="nativeplace,stepselect">

           <select name="searchtype" class="search-option" id="search-option">

               <option value="titlekeyword" selected=’1′>智能模糊搜索</option>

               <option value="title">仅搜索标题</option>

           </select>

          <button type="submit" class="search-submit">搜索</button>        

        </div>

        </form>

        <div class="s3">

            <a href="heightsearch.php">高级搜索</a>

            <a href="{dede:global.cfg_cmsurl/}/">返回首页</a>

        </div>

    </div>

</div>

<div class="msgbar">

    <p>

        搜索 <strong class="fc_03c">{dede:global name=’keyword’/}</strong> 的结果

    </p>

</div>

<div class="resultlist">

    

{dede:list perpage=’20′}

    <div class="item">

        <h3><a href="[field:arcurl/]" target="_blank">[field:title/]</a></h3>

        <p class="intro">[field:description/]…</p>

        <p class="info">

            <small> 分类:</small><span> <a href="[field:typeurl/]" target="_blank">[field:typename/]</a></span>

            <small>点击:</small><span> [field:click/]</span>

            <small>日期:</small><span> [field:stime/]</span>

        </p>

        <p><span><a href="[field:arcurl/]" target="_blank">[field:arcurl/]</a></span></p>

    </div>

{/dede:list}

</div>

<div class="dede_pages">

    <ul class="pagelist">

        {dede:pagelist listsize=’5′/}  

    </ul>

</div><!– /pages –>

<div class="othersearch">

    <h2>相关搜索:</h2>

    <ul>

        {dede:likewords num=’8′/}

    </ul>

</div>

<div class="footer">

    <p class="link">

        网站版权信息及免责声明

    </p>

    <!–

        为了支持织梦团队的发展,请您保留织梦内容管理系统的链接信息.

        我们对支持织梦团队发展的朋友表示真心的感谢!织梦因您更精彩!

    –>

    <p class="powered">

        Powered by <a href="http://www.dedecms.com" title="织梦内容管理系统(DedeCms)–国内最专业的PHP网站管理系统,轻松建站的首选利器。" target="_blank"><strong>Dede<span>CMS</span></strong></a> ? 2004-2008 DesDev Inc.

    </p><!– /powered –>

    

</div>

</body>

</html> 

一流源码网到此为止!

本文链接:http://78moban.cn/post/2795.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部