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

kimxan123

Новачок
  
  • Публікації

    6
  • З нами

  • Відвідування

Усі публікації користувача kimxan123

  1. Все решено. Большое спасибо @ auditor. Навёл на ошибку. Всё-таки проблема с модификаторами. Так что дорогие друзья, чистим модификаторы)))) Всем спасибо за внимание!
  2. Данный запрос работает на прямую в базу, на примере определенного product_id. Этого разве не достаточно?
  3. Последовал вашим рекомендациям public function getProductSimilar($product_id) { $product_sku_data = array(); $sql = "SELECT product_id FROM " . DB_PREFIX . "product WHERE price > 0 AND product_id != '" . (int)$product_id . "' AND sku = (SELECT DISTINCT sku FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "') AND price < (SELECT DISTINCT price FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "') ORDER BY price"; $this->log->write('sql_req:'.$sql); $query = $this->db->query($sql); foreach ($query->rows as $result) { $product_sku_data[$result['product_id']] = $this->getProduct($result['product_id']); } return $product_sku_data; } Снова почистил весь кеш Положительных результатов нет. Журнал пуст
  4. Весь кеш почистил, но к сожалению никаких результатов
  5. Всем доброго времени суток! Недавно познакомился с Opencart 3. Пытаюсь написать модуль, для страницы карточка товара, который будет выводить похожие товары по следующим параметрам: SKU, Price Написал функцию в model_catalog_product: public function getProductSimilar($product_id) { $product_sku_data = array(); if ($product_id) { $query = $this->db->query("SELECT product_id FROM " . DB_PREFIX . "product WHERE price > 0 AND product_id != '" . (int)$product_id . "' AND sku = (SELECT DISTINCT sku FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "') AND price < (SELECT DISTINCT price FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "') ORDER BY price"); foreach ($query->rows as $result) { $product_sku_data[$result['product_id']] = $this->getProduct($result['product_id']); } } return $product_sku_data; } Для реализации решил использовать встроенный модуль special Переписал контроллер catalog_controller_extension_module_special: <?php class ControllerExtensionModuleSpecial extends Controller { public function index($setting) { $this->load->language('extension/module/special'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['products'] = array(); $product_id = isset($this->request->get['product_id']) ? $this->request->get['product_id'] : 0; $results = $this->model_catalog_product->getProductSimilar($product_id); foreach ($results as $result) { if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $setting['width'], $setting['height']); } 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 = $result['rating']; } else { $rating = false; } $this->data['products'][] = 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']), ); } return $this->load->view('extension/module/special', $data); } } Пытаюсь вывести на странице карточки товаров, ничего не выводится, даже заголовок модуля. Пожалуйста, подскажите, что не так я делаю? Заранее огромное спасибо!
×
×
  • Створити...

Important Information

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