Opencart 为名称和型号启用自动完成

Opencart to enable autocomplete for name AND model

我正在使用 OC 2.2.0。在前端,我需要在名称和型号上自动完成。现在,只有名称自动完成。在catalog/model/catalog/product.php我改了

$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'"; 

$sql .= " OR LCASE(p.model) LIKE '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "%'";

但仍然无法在模型上自动完成。相反,我总是必须输入整个模型名称,但它必须是自动完成的。有什么建议吗?

经过多天的研究和查看代码,我设法理解并解决了我的问题。我在看所有错误的地方。唯一需要更改的文件是 getdata.php,它位于 OC 的根目录中。因此,默认自动完成仅适用于产品名称。它在这个文件中是这样定义的:

$sql = "SELECT pd.name FROM " . DB_PREFIX . "product p," . DB_PREFIX . "product_description pd WHERE p.status = 1 AND p.product_id = pd.product_id AND language_id = '".$id."' AND UPPER(pd.name) like UPPER('%$q%') GROUP BY pd.product_id ORDER BY pd.name ASC";
   $res = mysql_query($sql);
   if(mysql_num_rows($res)>0){
       while($ro = mysql_fetch_assoc($res)){

           $name = str_replace( array( '\'', '"', ',' , ';', '<', '>','&quot','&'), ' ', $ro['name']);
       //$str[]= $name."\n";
       echo $name."\n";
       }
   } 

现在,您需要做的就是在 oc_product table 您需要自动完成的 oc_product table 中添加模型或任何数据库字段的确切查询。意思是,例如,复制名称查询并将 pd.name 替换为 p.model,并将 ['name'] 替换为 ['model']。瞧!我真的希望这对某人有所帮助,因为直到今天我自己才意识到这一点。