【问题标题】:Opencart search and special pages image bugOpencart 搜索和特殊页面图像错误
【发布时间】:2015-09-04 15:15:10
【问题描述】:

产品搜索和特价页面出现错误。当我运行产品搜索并获得结果(或查看特价页面)时。将鼠标放在产品图片上,得到:

"Notice: Undefined index: image_add in /home/database/public_html/catalog/view/theme/marcus/template/product/search.tpl on line 105Notice: Undefined index: image_add in /home/database/public_html/catalog/view/theme/marcus/template/product/search.tpl on line 115"... (also I add pic of problem)

未定义索引所在部分的代码:

<?php
                    if($product['image_add'] != ''){
                        $file_headers = @get_headers($product['image_add']);
                        if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
                            $exists = false;
                        }
                        else {
                            $exists = true;
                        }
                    }

                    if($product['image_add'] != '' && $exists){
?> 

这个问题的奇怪之处在于其他页面中使用的代码部分相同,但仅在这两个页面(特价和搜索结果页面)中存在问题。

我的 OC 版本是 1.5.6.4 和主题link

我不是真正的程序员,但对编码知之甚少(显然不足以解决这些问题)。因此,如果可能(并且如果您知道如何解决此问题),请尽可能简单地写出答案。

附言

我联系主题创作者寻求支持,但直到今天我没有得到他的答复。

问候,

【问题讨论】:

  • SO 网站不是寻求技术支持或专业帮助的地方,也就是说我们没有尽可能简单地写答案
  • 我不寻求专业帮助或技术支持。请问如何解决这个问题。

标签: php opencart undefined-index


【解决方案1】:

由于有问题的索引(显然)不存在,当您检查它的值时,php 会抛出一个错误。为了避免这个错误,你可以简单地添加一些逻辑来确保它存在:

<?php
    if(isset($product['image_add']) && $product['image_add'] != ''){
        $file_headers = @get_headers($product['image_add']);
        if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
            $exists = false;
        } else {
            $exists = true;
        }
    }
    if(isset($product['image_add']) && $product['image_add'] != '' && $exists){
?> 

【讨论】:

  • @w3bgh0st - 不客气。如果对您有帮助,请将此答案标记为正确(并可选择投票)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-26
  • 1970-01-01
  • 2014-06-11
  • 1970-01-01
  • 1970-01-01
  • 2016-12-29
  • 2014-06-12
相关资源
最近更新 更多