希望你能有人帮助我。我正在运行opencart 1.5.4并且必须使用新的主机帐户将版本升级到1.5.6.1。从那时起,我的搜索不通过标题搜索框。
我一直在使用vqmod修改了搜索以包含AND而不是OR,因此它返回的结果如“hp p1105”(我的网站是打印机墨盒网站)在1.5.4的先前版本中。由于升级到1.5.6.1标题搜索没有返回任何结果。
举个例子;如果您通过转到new hosting account link搜索“hp p1005”,它将不会显示任何结果并返回http://64.34.75.145/~sydne716/index.php?route=product/search&search=hp%20p1005
。
但是如果我修改相同的返回链接以包含filter_name,那么它会按预期显示结果。 http://64.34.75.145/~sydne716/index.php?route=product/search&filter_name=hp%20p1005
此外,如果我再次搜索搜索结果页面,它将返回所有搜索项目。
我曾尝试在opencart论坛上发帖,得到的回复很少,但似乎没有任何帮助来解决我遇到的问题。 Opencart forum link
我在系统中也遇到以下错误 - >错误部分
2015-09-13 20:22:20 - PHP注意:未定义索引:第481行/home/sydne716/public_html/vqmod/vqcache/vq2-catalog_model_catalog_product.php中的filter_name
如果有人可以在这里提供帮助,我将非常感激。我正在等待使用我的新主机帐户,但没有搜索工作,我无法继续。
谢谢,感谢任何帮助。
答案 0 :(得分:1)
在<4>[ 851.333053] wlan: disagrees about version of symbol module_layout
更改:
catalog/view/javascript/common.js
为:
$('.button-search').bind('click', function() {
url = $('base').attr('href') + 'index.php?route=product/search';
var search = $('input[name=\'search\']').attr('value');
if (search) {
url += '&search=' + encodeURIComponent(search);
}
location = url;
});
对$('.button-search').bind('click', function() {
url = $('base').attr('href') + 'index.php?route=product/search';
var search = $('input[name=\'search\']').attr('value');
if (search) {
// NOTE: search was changed to filter_name
url += '&filter_name=' + encodeURIComponent(search);
}
location = url;
});
答案 1 :(得分:0)
删除<base>
标记后,我遇到同样的问题。要修复修改catalog/view/javascript/common.js
。替换:
$('base').attr('href')
使用:
location.protocol + "//" + location.host + '/'
使用.htaccess修复它的另一个方法:
# === fix router error ===
RewriteCond %{QUERY_STRING} ^(.*)_route_=undefined[^&]*&(.*)$ [NC]
RewriteRule .* %{REQUEST_URI}?%1%2 [R,L]