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

Вывод массива данных "Скидки" в категорию к каждому товару


Recommended Posts

Добрый день!
 
Прошу подсказать как вывести массив данных "Скидки" (Discount), который стандартно выводиться в карточке товара в категорию к каждому товара.
 
Стоит OpenCart 1.5.5.1.2
 
Вот что имеется:
1.jpg
 
 
Нужно подхватить данные и вывести рядом с обычной ценой в категории с каждым товаров.
2_800.jpg
 
Я так понял, что нужно доработать контроллер category.php по адресу catalog/controller/product, а затем подхватить данные и вывести в шаблоне category.tpl
 
По образцу вывода Акционной цены (Special) начал пытаться подстроить нижеуказанный код под вывод Скидки
 

			foreach ($results as $result) {
				if ($result['image']) {
					$image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
				} else {
					$image = $this->model_tool_image->resize('no_image.jpg', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
				}

				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_tax')) {
					$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
				} else {
					$tax = false;
				}

Ничего не получилось, не хватает опыта.
 
Прошу знатоков подсказать, куда копать?

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


Проблему решил!

 

Делюсь наработками, может кому-то пригодится.  :-)

 

Нашел топик - https://opencartforum.com/topic/41456-скидки-в-категории/

P.S. Плохо ранжируют поисковики, где на ~7 странице нашел

 

Используя инструкцию данного автора сделал модификации в файле обработчика category.php

				$this->data['products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300) . '..',
					'price'       => $price,
                    'discount'    => $this->model_catalog_product->getProductDiscounts($result['product_id']),
                    'tax_class_id'=> $result['tax_class_id'],
					'special'     => $special,
					'tax'         => $tax,
					'rating'      => $result['rating'],
					'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
					'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
				);
			}

и сделал вывод в category.tpl своей темы

       <div class="product-about">
            <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
            <div class="description"><?php echo $product['description']; ?></div>
            <?php if ($product['price']) { ?>
               <div class="price">
               <?php if ($product['discount']) { ?>
                    <span class="discount">
                      <span class="cat-name-price">Опт:</span>
                      <?php foreach ($product['discount'] as $discount) { ?>
                      <span><?php echo $this->currency->format($this->tax->calculate($discount['price'], $product['tax_class_id'], $this->config->get('config_tax'))); ?></span>
                      <?php } ?>
                    </span>
                <?php } ?>
               <?php if (!$product['special']) { ?>
                  <span class="cat-name-price">Розн:</span> <?php echo $product['price']; ?>
              <?php } else { ?>
               <span class="cat-name-price">Розн:</span> <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
            <?php } ?>
          </div>

+ оформил по вкусу и на выходе вот что получилось

 

2.jpg

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


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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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