让ecshop可以按属性编号/货号,即product_sn搜索的方法,【老杨教你正确方式避坑】
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; }纳尼,这么简单??就是这么简单,你以为呢?