开发交流

让ecshop可以按属性编号/货号,即product_sn搜索的方法,【老杨教你正确方式避坑】

LYECS,LYECS+商城系统,多用户商城系统,开源商城系统 发布日期:2017-10-13   作者:老杨

ecshop可以关键词搜索商品规格属性编号,即按product_sn搜索

网上的教程老杨也有看过,只能说一个字:坑,网上的方法基本就是如下:

 "LEFT JOIN " . $GLOBALS['ecs']->table('products') . " AS p ". 

左插入一个products表,然后查询。

大哥,mysql你用了group by吗?你用了distinct吗?好,你就算用了,效率在哪,products的一个商品如果有上百个货号呢??


好了,不吐槽了,直接上代码:

找到search.php里的以下代码:

            $db->autoReplace($ecs->table('keywords'), array('date' => local_date('Y-m-d'),
                'searchengine' => 'lyecs', 'keyword' => addslashes(str_replace('%', '', $val)), 'count' => 1), array('count' => 1));

在下面添加:

            $sql = "SELECT goods_id FROM " .$GLOBALS['ecs']->table('products'). " WHERE product_sn LIKE '%$val%'";
            $product_goods_ids = $db->getCol($sql);
            foreach ($product_goods_ids as $v) {
                $goods_ids[] = $v;
            }
纳尼,这么简单??就是这么简单,你以为呢?


热门文章

分类标签