PHP注意:未定义的索引:filter_name - Opencart 1.5.6.1

时间:2015-09-13 10:38:34

标签: php search undefined opencart

希望你能有人帮助我。我正在运行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

如果有人可以在这里提供帮助,我将非常感激。我正在等待使用我的新主机帐户,但没有搜索工作,我无法继续。

谢谢,感谢任何帮助。

2 个答案:

答案 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]