Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

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

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

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


То есть у Вас настройки ширины и высоты изображений одни на 2 модуля?

 

Костыль...

Может сразу сделать "по феншую"?

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.