Ошибка PHP Notice: Undefined index: total in

Тема в разделе "OpenCart", создана пользователем sovvase, 21 авг 2015.

  1. sovvase

    sovvase

    Регистрация:
    28 окт 2012
    Сообщения:
    73
    Симпатии:
    1
    В системных логах появляется ошибка:
    PHP Notice: Undefined index: total in .../public_html/vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 575
    Код:
    public function getFullPath($product_id) {
                  
                      $query = $this->db->query("SELECT COUNT(product_id) AS total, min(category_id) as catid FROM " . DB_PREFIX . "product_to_category  WHERE product_id = '" . (int)$product_id . "' group by product_id");
                     
    строка 575              if ($query->row['total'] >= 1) {
                         $path = array();
                         $path[0] = $query->row['catid'];
                        
                         $query = $this->db->query("SELECT parent_id AS pid FROM " . DB_PREFIX . "category WHERE category_id = '" . (int)$path[0] . "'");
    
                         $parent_id = $query->row['pid'];
                        
                         $i = 1;
                         while($parent_id > 0) {
                            $path[$i] = $parent_id;       
                           
                            $query = $this->db->query("SELECT parent_id AS pid FROM " . DB_PREFIX . "category WHERE category_id = '" . (int)$parent_id . "'");
                            $parent_id = $query->row['pid'];
                            $i++;
                         }
                     
                         $path = array_reverse($path);
                                                   
                         $fullpath = '';
                        
                         foreach($path as $val){
                            $fullpath .= '_'.$val;
                         }
                     
                         return ltrim($fullpath, '_');
                      }    else {
                         return false;
                      }
    Помогите плиз, как вылечить?
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Замените эту строку на это:
    PHP:
    if (isset($query->row['total']) && $query->row['total'] >= 1) {
     
  3. sovvase

    sovvase

    Регистрация:
    28 окт 2012
    Сообщения:
    73
    Симпатии:
    1
    в файле catalog/model/catalog/product.php внес изменения, но ошибка все равно присутствует.
    после изменения кешы, логи все очистил.
     
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Вы кеш vQmod чистили?
    Откройте файл /vqmod/vqcache/vq2-catalog_model_catalog_product.php и посмотрите, как там сейчас выглядит эта строка.
     
  5. sovvase

    sovvase

    Регистрация:
    28 окт 2012
    Сообщения:
    73
    Симпатии:
    1
    я же написал, что все чистил )
    нашел причину. это из за smart_microdata.xml в пакете SE0-pack-PR0 5.21. из за этого возникают проблема еще и с микроданными ((