Перейти к содержанию
PRammer

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

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

Добрый день!
 
Прошу подсказать как вывести массив данных "Скидки" (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 пользователей онлайн

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

×

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

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