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

[Решено] как вывести оптовую цену(discount) в модулях special, popular etc.

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

В магазине должно быть 2 цены - опт. и розн. Оптовая цена реализована через "скидки"(discount). В контроллере продукта (catalog/controller/product/product.php) как я понимаю этот код отвечает за оптовую цену:

$discounts = $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']);
$data['discounts'] = array();
foreach ($discounts as $discount) {
$data['discounts'][] = array(
        'quantity' => $discount['quantity'],
	'price'    => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
	);
}

Как его правильно добавить в контроллеры module/special, popular, related и т.д.?

Поделиться сообщением


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

ocStore 2.1.0.2.1

Никто не знает?

Изменено пользователем VladDev

Поделиться сообщением


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

Скидки в любом модуле можно выводить так же как в контролерре товара

Поделиться сообщением


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

Возможно я неправильно поставил вопрос. Например, в дефолтном модуле "Товары со скидкой" (module/special) выводятся две цены: акционная (устанавливается на вкладке акции) и перечеркнутая стандартная. Но мне нужно вывести еще скидочную (количественную)(вкладка скидки) цену. Возможно это реализовать?

 

На странице продукта она выводится без проблем, а в модулях ее нет.

Поделиться сообщением


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

А что мешает попробовать? Берите код из карточки товара и вставляйте в нужные модули.

Поделиться сообщением


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

В catalog/controller/module/popular.php после строк:

if ($this->config->get('config_review_status')) {
	$rating = $result['rating'];
} else {
	$rating = false;
}

добавил:

$discounts = $this->model_catalog_product->getProductDiscounts($result['product_id']);
		    
$data['discounts'] = array();

foreach ($discounts as $discount) {
	$data['discounts'][] = array(
		'quantity' => $discount['quantity'],
		'price'    => $this->currency->format($this->tax->calculate($discount['price'], $result['tax_class_id'], $this->config->get('config_tax')))
	);
}

здесь же, после строки:

$data['products'][] = array(

добавил:

'discounts'    => $discounts,

В catalog/view/theme/default/template/module/popular.tpl добавил:

<?php if ($product['discounts']) { ?>
          <?php foreach ($product['discounts'] as $discount) { ?>
            <p><?php echo $discount['price'] ?></p>
            <p> от <?php echo $discount['quantity'] ?> ед.</p>
          <?php } ?>
 <?php } ?>

Работает, но выводится discount цена только в ДОЛЛАРАХ, и не реагирует на смену валют. Что это может быть, почему не отрабатывает "$this->currency" ? 

Поделиться сообщением


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

Вы помещаете пересчитанную цену со скидкой в $data['discounts'] а используете для отображения исходную из $discounts

поменяйте

'discounts'    => $discounts,

на

'discounts'    => $data['discounts'],

Поделиться сообщением


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

Спасибо Вам огромное, Shalan! Наконец-то заработало как нужно! Проблема решена!

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От afwollis
      [ocStore_15x] [WebMe] Last Order Discount
      Скачать/Купить дополнение Обратите внимание: данная версия модуля платная.
      Это связано с тем, что поддержка бесплатных дополнений отнимает довольно много времени, которое хочется хоть как-то компенсировать.
      Скидка X в процентах для следующей покупки в течении Y дней с даты последнего заказа.
      Учитывается статус заказа.
      Отдельные настройки скидок для оформления заказа зарегистрированным клиентом и гостем.
      В случае оформления заказа в гостевом режиме поиск предыдущих заказов ведется по адресу электронной почты.
      Модуль проверялся на следующих версиях движков:
      - ocStore_1531;
      - ocStore_1541.
      Впрочем, должен работать на версиях ocStore_15x.
      Ограничения:
      В данный момент модуль поставляется только с русским языком.
      С версии 0.2.ocs1531 внедрен функционал проверки наличия обновлений (новых версий) дополнений.
      Код, отвечающий за это, отделен в файлах комментариями с пометкой "__DO_NOT_EDIT__"
      Добавил afwollis Добавлено 28.12.2012 Категория Учет в заказе  
    • От louise170
      450.00 руб
      Скачать/Купить дополнение


      Продукты по акции
      Модуль позволяет создавать и проводить акции с товарами идущими в подарок при заказе на определенную сумму денег.
      Подарочные товары автоматически кладутся в корзину с нулевой стоимостью, если была достигнута заданная стоимость заказа.
      Для информирования покупателей о проводимых акциях, можно использовать другие модули, например: статьи, новости, баннеры. Лично мне нравится использовать для этих целей модуль HTML Popup
      Никакие системные файлы не изменяются. Модуль тестировался на OpenCart 1.5.4.1
      Поддерживаемые языки:
      русский
      Пример работы модуля:
      http://ocstore1541.hypnoguru.ru/
      Демо админки:
      http://ocstore1541.hypnoguru.ru/admin/
      доступ
      demo / demo
      Установка
      Разархивируйте Скопируйте файлы на сервер В интерфейсе администратора установите права доступа к модулю Зайдите на страницу "Дополнения -> Учитывать в заказе" и установите модуль Продукты по акции Нажмите кнопку "Изменить" и настройте модуль как вам нужно. Обновление модуля
      Закачать все файлы из архива модуля на сайт. Зайти в админку модуля и нажать кнопку "Сохранить". Прописать настройки, которые появились в новой версии (если они вам нужны). Добавил louise170 Добавлено 09.10.2013 Категория Цены, скидки, акции, подарки Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1 ocStore 1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1 OpenCart.Pro, ocShop OcShop 1.5.6.4.х  
    • От louise170
      1 500.00 руб
      Скачать/Купить дополнение


      Продукты по акции Pro
      Модуль позволяет создавать и проводить акции с товарами идущими в подарок при заказе на определенную сумму денег или
      если с корзине лежит определенный товар или группа товаров. Подарочные товары автоматически попадают в заказ, если были выполнены условия акции.
      Отличия от модуля "Продукты по акции":
      Усовершенствована система добавления товаров в акцию.
      Это дает больше возможностей в управлении акционными товарами, а именно: нет вкладок, информация по акциям хранится в базе данных, это позволяет создавать большое кол-во акций (на вкладках максимум 59) связи между товарами: один к одному, один ко многим, многие к одному, многие ко многим, можно выбирать не конкретные товары, а сразу производителей или категории. создание связей разделено на группы - каждая группа - это отдельная строчка в таблице на странице "Связи". Описания акций отображаются подобно новостям: модуль с анонсами, страница с полным списком и отдельная страница описания акции Страница описания акции также содержит полный список товаров, участвующих в акции. Есть возможность выводить отдельными блоками товары из акции. В списке товаров в категориях видны акционные товары, при нажатии на ссылку открывается краткое описание акции. На странице акционного товара виден блок с подарочным товаром. SEO-урлы для списка и описания акций. Акционные товары можно отображать в корзине вместе с остальными товарами. Акционные товары, кот. отображаются лежащими в корзине, также будут отображаться в счете и в письмах отправляемых покупателю. Учитывается вес акционных товаров, кот. отображаются лежащими в корзине. Акции можно использовать для определенных групп покупателей.  
      С помощью данного модуля также можно делать акции типа "Бесплатная доставка" - описание и список товаров делается здесь, а непосредственная обработка бесплатных товаров в корзине делается с помощью модуля доставки, который может делать бесплатную доставку для определенных групп товаров. Еще в модуле можно делать анонсы для товаров со скидками и специальных предложений, которые делаются через стандартный функционал Опенкарта.
      Никакие системные файлы не затираются, модуль работает на vqmod.
      Модуль тестировался на OpenCart 1.5.4.1, 1.5.6, 1.5.6.4, 2.1.0.2, 2.2.0.0
       
      Поддерживаемые языки
      русский
       
      Пример работы модуля
      http://ocstore156.hypnoguru.ru/
      http://opencart2200.opencartplus.ru/
       
      Демо админки
      http://ocstore156.hypnoguru.ru/admin/
      http://opencart2200.opencartplus.ru/admin/
      доступ
      demo / demo
       
      Лицензия
      При покупке данного модуля, Вы получаете право установки его на один домен. Лицензионный ключ можно получить по запросу на e-mail, который вы увидите на странице модуля, после его установки.
       
      Установка
      Инструкция по установке находится в файле readme.txt в архиве модуля.
       
      Требования к серверу
      На хостинге должен быть PHP 5.3 или выше. На хостинге должен быть установлен ionCube Loader последней версии (минимум версия 5.0). Чтобы проверить его наличие скачайте этот файл, разархивируйте его содержимое и закачайте в корневую директорию Вашего сайта. После этого откройте в браузере http://ваш_сайт/test_ioncube.php Для корректной работе на Опенкарте 1.5.х на вашем сайте должен быть установлен VQMOD не ниже версии 2.4.1,
      если у вас стоит версия ниже - нужно обновиться отсюда: https://github.com/vqmod/vqmod/releases
      FAQ
      FAQ общие вопросы по Опенкарту  
      Добавил louise170 Добавлено 21.12.2014 Категория Цены, скидки, акции, подарки Системные требования PHP 5.3+, IonCube Loader версии 5.0+, для Опенкарт 1.5.х - VQMOD не ниже версии 2.4.1 Сайт разработчика Старая цена Метод активации По емейлу Ioncube Loader Требуется OpenCart 2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1 ocStore 2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1 OpenCart.Pro, ocShop Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х  
    • От MixoFix
      Быстрая скидка клиенту (для Админки)
      Скачать/Купить дополнение Модуль облегчает работу с заказами в магазине.
      Что делает этот модуль: позволяет быстро назначить скидку для заказа.
      Либо % либо фиксированная сумма.
      Скидка распространяеться только на стоимость товара и не распространяется на доставку.
      Если Вы делаете скидку, создается скидочный купон с номером заказа.
      Как это работает:
      1- Функция работает на странице с формой заказа, доступной по клику на ссылку изменить в списке заказов: admin/index.php?route=sale/order/update
      2- Если в поле "купон" ввести число, и нажать кнопку "обновить Итого" - то сумма всех стоимости товаров - уменьшиться на введенную сумму.
      3- Если в поле "купон" ввести число и в конце его поставить знак % например 10%, и нажать кнопку "обновить Итого" - то сумма стоимости всех товаров - уменьшиться на введенный процент.
      Модуль тестировался на версиях 1.5.X
      Ссылка на Демо
      Добавил MixoFix Добавлено 24.10.2014 Категория Цены, скидки, акции, подарки  
    • От kJlukOo
      590.00 руб
      Скачать/Купить дополнение


      DNK Bonus Manager
      DNK Bonus Manager
       
      DEMO
      http://option-mcl-21.taoi.ru/admin/index.php?route=module/dnkbonus&token=tSNtxD1YaYBVUtkGkhc6NrXsvwVWKmCJ
      demo:demo
       
      Описание
       
      Модуль имеет обфусцированные файлы (1 файл)
      Инструмент для удобной генерации товарам бонусов, а так же поощрения клиентов за активность на сайте и заказы
       
      автоматически устанавливать различным группам товаров процентовку в бонусах от основной цены и процентовку получания бонуса от основной цены индивидуально автоматически начислять покупателям или группам покупателей бонусы таблицу топа покупателей по накопленным балам таблицу расходов юзерами бонусов (В ПЛАНАХ) таблица всех начислений баллов с модуля поощрения юзера за регистрацию за кол-во заказов за комментарии за общую сумму заказов  
      Совместимость
      opencart / ocstore - 2.1, 2.2, 2.3
       
      Установка
      через загрузчик расширений
       
       
       
      Добавил kJlukOo Добавлено 30.03.2018 Категория Бонусы, купоны, программы лояльности Системные требования Сайт разработчика cleanphp.ru Старая цена 1000 Метод активации По запросу в ЛС Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
  • Последние посетители   0 пользователей онлайн

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

×