ecshop关键字相关二次开发

2011-03-08 22:29 来源:www.chinab4c.com 作者:熊斌

     ecshop的关键字分析和设置,有几层意思.ecshop的关键字分为标题关键字和ecshop热门搜索关键字.ecshop标题关键字存在人为的设置,比如在后台。可以设置该商品的标题关键字。ecshop热门搜索关键字是在ecshop后台系统设置的。

     ecshop关键字的设置,在后台的系统设置里面,可以用空格或者","符号来将热门搜索关键字隔开.

     ecshop标题关键字,是在录入产品,或者是分类的时候。在商品的其他信息录入的时候,可以录入关键字.

     ecshop商品关键字存储在goods表中的keywords字段中,而ecshop热门搜索关键字存储在shop_config表中。

    ecshop标题关键字主要是用来做seo优化的,而热门搜索关键字是通过关键字对商品进行搜索.

     ecshop的关键字,主要的体现在该代码中。  $smarty->assign('keywords',           htmlspecialchars($goods['keywords']));而热门搜索关键字是在函数中通过该代码初始化的 $searchkeywords = explode(',', trim($GLOBALS['_CFG']['search_keywords']));.

  标题关键字体现在html模板中.<meta name="Keywords" content="{$keywords}" />

  ecshop热门搜索关键字体现在ecshop的搜索页面。 $_REQUEST['keywords']   = !empty($_REQUEST['keywords'])   ? trim($_REQUEST['keywords'])     : '';

        $arr = array();
        if (stristr($_REQUEST['keywords'], ' AND ') !== false)
        {
            /* 检查关键字中是否有AND,如果存在就是并 */
            $arr        = explode('AND', $_REQUEST['keywords']);
            $operator   = " AND ";
        }
        elseif (stristr($_REQUEST['keywords'], ' OR ') !== false)
        {
            /* 检查关键字中是否有OR,如果存在就是或 */
            $arr        = explode('OR', $_REQUEST['keywords']);
            $operator   = " OR ";
        }
        elseif (stristr($_REQUEST['keywords'], ' + ') !== false)
        {
            /* 检查关键字中是否有加号,如果存在就是或 */
            $arr        = explode('+', $_REQUEST['keywords']);
            $operator   = " OR ";
        }
        else
        {
            /* 检查关键字中是否有空格,如果存在就是并 */
            $arr        = explode(' ', $_REQUEST['keywords']);
            $operator   = " AND ";
        }

       就是将ecshop设置的热门搜索关键字进行ecshop的商品检索.

  来源:http://www.chinab4c.com