Рекомендуемые сообщения

Glinda    0

День добрый. Дублирую вкладку "Рекомендуемуе" (создал копию таблицы product_related, внёс изменения в controller, module, thema - в admin и catalog), В админке всё нормально (появилось доп. поле "сопутствующие", записывается в БД), а на сайте во складке "сопутствующие товары" у продукта, нет изображения и выскакивает такая ошибка

 

Warning: imagecreatetruecolor(): Invalid image dimensions in /var/www/tehna/data/www/tehna.ru/system/library/image.php on line 74Warning: imagecolorallocate() expects parameter 1 to be resource, boolean given in /var/www/tehna/data/www/tehna.ru/system/library/image.php on line 82Warning: imagefilledrectangle() expects parameter 1 to be resource, boolean given in /var/www/tehna/data/www/tehna.ru/system/library/image.php on line 85Warning: imagecopyresampled() expects parameter 1 to be resource, boolean given in /var/www/tehna/data/www/tehna.ru/system/library/image.php on line 87Warning: imagejpeg() expects parameter 1 to be resource, boolean given in /var/www/tehna/data/www/tehna.ru/system/library/image.php on line 44Warning: imagedestroy() expects parameter 1 to be resource, boolean given in /var/www/tehna/data/www/tehna.ru/system/library/image.php on line 51
 

Где-то по пути теряются изображения, где не могу понять, не подскажите как определить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Glinda    0

Изменены следующие файлы:
../catalog/controller/product/product.php (аналог $this->data['products'])

$this->data['products2'] = array();      
 $results = $this->model_catalog_product->getProductRelated2($this->request->get['product_id']);
            foreach ($results as $result) {
                if ($result['image']) {
                    $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_related_width2'), $this->config->get('config_image_related_height2'));
                } else {
                    $image = false;
                }
 
                if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                    $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
                } else {
                    $price = false;
                }
       
                if ((float)$result['special']) {
                    $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
                } else {
                    $special = false;
                }
 
                if ($this->config->get('config_review_status')) {
                    $rating = (int)$result['rating'];
                } else {
                    $rating = false;
                }
       
                $this->data['products2'][] = array(
                    'product_id' => $result['product_id'],
                    'thumb'        => $image,
                    'name'  => $result['name'],
                    'price'        => $price,
                    'special'  => $special,
                    'rating'        => $rating,
                    'reviews'    => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
                    'href'  => $this->url->link('product/product', 'product_id=' . $result['product_id']),
                );
            }

 


../catalog/model/catalog/product.php (аналог public function getProductRelated($product_id))

 

public function getProductRelated2($product_id) {
        $product_data = array();
 
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related2 pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");
 
        foreach ($query->rows as $result) {
            $product_data[$result['related_id']] = $this->getProduct($result['related_id']);
        }
       
        return $product_data;
    }


 

../тема/product/product.php (аналог php if ($products))


<?php if ($products2) { ?>
    <a href="#tab-related2"><?php echo $tab_related2; ?> (<?php echo count($products2); ?>)</a>
    <?php } ?>


Изменял так же в админке файлы, их не привожу так как в БД информация записывается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Glinda    0

Нашёл ошибку в файле ../catalog/controller/product/product.php вместо переменной config_image_related_width2 и config_image_related_height2 нужно соответственно config_image_related_width и config_image_related_height

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Krotav88    0

не могли бы Вы поделиться что где меняли? тоже нужна реализация подобного.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу