Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Дублирование вкладки товаров "Рекомендуемые"


Recommended Posts

День добрый. Дублирую вкладку "Рекомендуемуе" (создал копию таблицы 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
 

Посмотрел firebug`ом - изображения из кеша не отображаются.

Ссылка на изображение  (код сейчас такой) ../image/cache/data/GazPlit/ 2101-01-x.jpg, хотя должна быть../image/cache/data/GazPlit/ 2101-01-100x100.jpg

 

Изменены следующие файлы:
../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 } ?>

Кто сталкивался с похожей проблемой? Да, доступ у папки 777.

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.