如何将搜索查询从和更改为Opencart或在Opencart中更改?

如何将搜索查询从和更改为Opencart或在Opencart中更改?,opencart,Opencart,Opencart:v.1.5.6.4 当有人在Opencart的搜索输入文本字段中搜索“iphone nikon”时,结果是: “没有与搜索条件匹配的产品。”(示例-) 我想要实现的是将搜索查询从和更改为或,以获得结果: iphone 尼康D300 或者这些词出现在产品名称中的所有产品 我对实时搜索(自动完成、自动建议或自动更正)不感兴趣 我非常确定我想要做的更改(通过使用vQmod)在文件/catalog/model/catalog/product.php 需要更改的代码具体在哪里?在文件

Opencart:v.1.5.6.4

当有人在Opencart的搜索输入文本字段中搜索“iphone nikon”时,结果是:
“没有与搜索条件匹配的产品。”(示例-)

我想要实现的是将搜索查询从更改为,以获得结果:

  • iphone
  • 尼康D300
或者这些词出现在产品名称中的所有产品

我对实时搜索(自动完成、自动建议或自动更正)不感兴趣

我非常确定我想要做的更改(通过使用vQmod)在文件
/catalog/model/catalog/product.php


需要更改的代码具体在哪里?

在文件
/catalog/model/catalog/product.php
中查找名为
getProducts()
的函数。在这一行中,查找与以下行类似的内容,该行处理变量
filter\u name

if ($implode) {
  $sql .= " " . implode(" AND ", $implode) . "";
}
您必须将上述语句中的
更改为
,但请记住,如果您在core中进行此更改,对OpenCart的任何更新都会将其更改回更新内容。

编辑

catalog/model/catalog/product.php

  • 找到函数
    getProducts()
  • 在相关函数中查找以下代码块:
  • foreach($words作为$word){
    $implode[]=“类似“%”的pd.name$this->db->escape($word)。“%”;
    }

    if($内爆){
    $sql.=''.introde(“AND”,$introde)。”;
    }

    并将代码块替换为:

    foreach($words作为$word){
    $implode[]=“类似“%”的pd.name$this->db->escape($word)。“%”;
    }

    if($内爆){
    $sql.=''.introde(“或,$introde”);
    }

  • getTotalProducts()函数中查找以下代码

    foreach($words作为$word){
    $implode[]=“类似“%”的pd.name$this->db->escape($word)。“%”;
    }

  • if($内爆){
    $sql.=''.introde(“AND”,$introde)。”;
    }

    并替换为以下内容

    foreach($words作为$word){
    $implode[]=“类似“%”的pd.name$this->db->escape($word)。“%”;
    }

    if($内爆){
    $sql.=''.introde(“或,$introde”);
    }

    希望有帮助,干杯

    别忘了在同一个文件中添加getTotalProducts()函数中的相同更改,否则您将在分页中获得不正确的搜索产品计数。谢谢Zaman&Ketan。查看结果:)