tabook

Простая скидка от количества товаров в корзине

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

tabook    129

index.php?app=downloads&module=display&section=screenshot&id=3186

Название: Простая скидка от количества товаров в корзине

Добавил: tabook

Добавлен: 01 июня 2016

Категория: Учет в заказе

Работает на OpenCart: 1.5.3.x и выше

Работает на ocStore: 1.5.5.x и выше

Работает на OpenCart.Pro, ocShop: Не тестировалось

Метод активации: Без активации

Сайт разработчика: https://acuteopencart.ru

Ioncube Loader: Нет

Данное дополнение является упрощенной версией модуля стимулирующих "объемных скидок", связанных с количеством позиций в заказе/товаров в чеке.

В нем нет сложной логики расчета процента.

Есть только количество единиц товара в корзине, удовлетворяющих условию акции и процент скидки, связанный с этим объемом (количеством)

- 3 товара - скидка 5%, 5 товаров - 7%, более 10 - 10% и т.д

Дополнительно можно задать фильтрацию по товарам принадлежащих белому списку категорий, либо черному. Также модуль может игнорировать товары, для которых уже задана акционная цена.

Лицензия

Приобретая одну копию модуля, Вы получаете право на использование ее на одном публичном домене.

Модуль предоставляется “как есть” («as is»). Автор модуля не несет какой-либо ответственности за причинение или возможность причинения вреда Вам, Вашей информации или Вашему бизнесу вследствие использования или невозможности использования данного модуля.

Совместимость

ocStore 1.5.x / Opencart 1.5.x / Opencart 2.0.x, 2.1.x, 2.2.0

Языки

Русский, Английский

Демо

OpenCart 2.2

Нажмите здесь, чтобы скачать файл

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


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

Доброе время суток. Подскажите как установить модуль. Версия ocStore 2.1.0.2.1 Заранее благодарен за любой ответ. 

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


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

а для определенного производителя или категории можно настроить модуль? Например только производитель Apple и от количества продукции Apple в корзине делань скидку

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


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

Скидка применяется на сумму в корзине или на сумму товаров без учета стоимости опций?

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


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

Нашел решение сам. Чтобы модуль заработал на 2.3 нужно
1. Открыть /admin/controller/total/acute_simple_discounts.php
2. Найти код на 81 строке $this->doRedirect($opencartVersion, $this->getLink($opencartVersion, 'extension/total'));
3. Заменить его на $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=total', true));

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


Ссылка на сообщение
Поделиться на другие сайты
Sasha15    0
57 минут назад, andrewborodiy сказал:

Нашел решение сам. Чтобы модуль заработал на 2.3 нужно
1. Открыть /admin/controller/total/acute_simple_discounts.php
2. Найти код на 81 строке $this->doRedirect($opencartVersion, $this->getLink($opencartVersion, 'extension/total'));
3. Заменить его на $this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=total', true));

такого файла нет

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


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

andrewborodiy, Ошибка 

screenshot.png

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


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

Sasha15, у меня ocStore 2.3.0.2.2 и все работает, скидки считает. Там была ошибка при сохранении настроек модуля (У Вас нет прав, обратитесь к администратору) - делался неправильный редирект. Строка, которую я скинул, исправляет это. У Вас же пишет, что нет таблицы и, судя по названию, не имеющей отношение к данному модулю.

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


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

Купил модуль. Скидку считается от первоначальной стоимости, не учитывает опции. Как сделать, чтобы и удорожание опциями считалось?

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

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


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

С нетерпением жду ответ. Это принципиально важный момент!

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


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

Будет работать на ocstore 2.3?

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


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

на Version 2.0.1.0  модуль заработал только после некоторых правок  ( заодно и скидки сделал чтобы учитывал)

заменить код в файле /catalog/model/total/acute_simple_discounts.php

начиная с 25 строки

    public function getTotal(&$total_data, &$total) {
      
        if (!$this->config->get('acute_simple_discounts_status') ||
            !($this->dateCurrentCheck($this->config->get('acute_simple_discounts_date_from'), $this->config->get('acute_simple_discounts_date_till')))) return;

        $skip_specials = $this->config->get('acute_simple_discounts_skip_specials');

        $action_products = array();

        $category_filter = $this->config->get('acute_simple_discounts_filter_category');
        $is_white_list = !$this->config->get('acute_simple_discounts_category_filter_type');

        foreach ($this->cart->getProducts() as $product) {
           
            if (count($category_filter)) {
                $found_cat = false;
                $product_categories = $this->getCategories($product['product_id']);
                foreach ($product_categories as $category) {
                    if (in_array($category['category_id'], $category_filter)) {
                        $found_cat = true;
                        break;
                    }
                }
                if ($is_white_list xor $found_cat) continue;
            }

            $product_specials = $this->getProductSpecials($product['product_id']);

            $special = false;

            foreach ($product_specials  as $product_special) {
                if (($product_special['date_start'] == '0000-00-00' || strtotime($product_special['date_start']) < time()) && ($product_special['date_end'] == '0000-00-00' || strtotime($product_special['date_end']) > time())) {
                    $special = $product_special['price'];
                    break;
                }
            }
            if (!$special || ($special && !$skip_specials)) {
                for ($i = 0; $i < $product['quantity']; $i++)
                    $action_products[] = array('id' => $product['product_id'], 'price' => $product['price'], 'name' => $product['name']);
            }
        }

        $discounts = explode(';', $this->config->get('acute_simple_discounts_discounts_list'));

        $value = 0;

        foreach (array_reverse($discounts) as $pair) {
            $discount = explode(':', $pair);

            if (count($action_products) >= $discount[0]) {
                if (isset($discount[1])) {
                    $value = $discount[1];
                }
                break;
            }
        }

        if ($value) {
            $total_amount = 0;
            foreach ($action_products as $action_product) {
           
                $amount = $action_product['price'] * $value / 100;

                if (!$amount) continue;

                $total_amount += $amount;
            }

            $total_data['totals']= array(
                'code'       => 'acute_simple_discounts',
                'title'      => html_entity_decode(str_replace(array('{DISCOUNT}'), array($value), $this->config->get('acute_simple_discounts_caption')), ENT_QUOTES, 'UTF-8'),
                'text'       => $this->currency->format(-$total_amount, $this->session->data['currency'], false, false),
                'value'      => -$total_amount,
                'sort_order' => $this->config->get('acute_simple_discounts_sort_order'));

            $total -= $total_amount;
           
        }
    }
}

 

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

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


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

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

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

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

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

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

Войти

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

Войти


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

    • От tabook
      Данное дополнение является упрощенной версией модуля стимулирующих "объемных скидок", связанных с количеством позиций в заказе/товаров в чеке.
      В нем нет сложной логики расчета процента.
      Есть только количество единиц товара в корзине, удовлетворяющих условию акции и процент скидки, связанный с этим объемом (количеством)
      - 3 товара - скидка 5%, 5 товаров - 7%, более 10 - 10% и т.д
      Дополнительно можно задать фильтрацию по товарам принадлежащих белому списку категорий, либо черному. Также модуль может игнорировать товары, для которых уже задана акционная цена.
      Лицензия
      Приобретая одну копию модуля, Вы получаете право на использование ее на одном публичном домене.
      Модуль предоставляется “как есть” («as is»). Автор модуля не несет какой-либо ответственности за причинение или возможность причинения вреда Вам, Вашей информации или Вашему бизнесу вследствие использования или невозможности использования данного модуля.
      Совместимость
      ocStore 1.5.x / Opencart 1.5.x / Opencart 2.0.x, 2.1.x, 2.2.0
      Языки
      Русский, Английский
      Демо
      OpenCart 2.2
  • Последние посетители   0 пользователей онлайн

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