Перейти к содержимому


Доработка системы скидок

Скидки

  • Вы не можете ответить в тему
Сообщений в теме: 8

#1 SoVA

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 66 сообщений
Репутация: 0
Начинающий
  • ГородКраснодар

Отправлено 22 October 2013 - 08:18 AM

Вот думаю, может, кто уже делал такое себе или задумывался о необходимости подобного допиливания.
У меня в магазине скидки настроены как
Скидка вычисляется исходя из общей стоимости заказа пользователя (критерий задается ниже).
При этом получается, что если на какой-то товар действует специальная цена (2 цены: Старая цена и Цена - обновленная сниженная; либо просто меняем Цену на меньшую), то при обсчете заказа на эту сниженную цену еще и начисляется скидка, а вот этого как раз не надо - ведь это "Специальная" (!) цена :) Надо, чтобы у товара была дополнительная характеристика (например, "Без_скидки"), чтобы при ее ненулевом значении скидка от суммы заказа на этот товар не действовала.
Конечно, можно пойти другим путем и снижать Цену не по-полной, а на чуть меньшую величину, чтобы там еще был запас для скидки. Но этот как-то не торт, да и разброс скидок у меня, в зависимости от суммы - от 3 до 10%, разница уже заметна. Ну и, повторюсь, все равно это корявенько как-то, не труЪ :)
Спиной чую, что нужно, видимо, в модуле обсчета корзины задать проверку наличия у товара нужного значения определенной характеристики, и если условие выполняется, то скидка не считается. Или еще где-то что-то нужно подправлять потом? В index.php же, вроде, ничего колхозить не надо? Он у меня
Вот сижу, прикидываю - справлюсь сам, с моим-то отсутствием знаний и методом "научного тыка и пристального взгляда" или заказать кому; что победит - спортивный интерес или лень :) Вроде как, по идее, там ничего особо сложного быть не должно: повтыкать в код - где именно скидки начисляются, в базу MySQL - чтобы правильно составить проверку наличия характеристики, ну еще, максимум, немного покурить php.
Может, кто подскажет/ткнет носом для начала, в каком файле начинать ковыряться, изучать код?
Ежели все получится (или не получится, а в итоге закажу готовое решение) - потом поделюсь в паблике, если кому-нибудь вообще интересно :)
  • 0
Make love, not work!

#2 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 22 October 2013 - 11:19 PM

Может, кто подскажет/ткнет носом для начала, в каком файле начинать ковыряться, изучать код?

В файле discount_functions.php в функции dscCalculateDiscount() после строки switch( CONF_DISCOUNT_TYPE )
Удачи :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#3 SoVA

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 66 сообщений
Репутация: 0
Начинающий
  • ГородКраснодар

Отправлено 23 October 2013 - 11:24 AM

Большое спасибо!
Попробую напрячь мозги :) А то сейчас уже даже двух слов в MS VBA связать не могу, хотя лет 10 назад ваял по мелочи какие-то таблички с формочками... А давеча возжелал автоматизировать обновление остатков и цен из одноэсной xls-выгрузки в csv-импорт для ShopCMS, открыл редактор басиковский и смотрю на него, как на новые ворота :)

А в order_functions ничего не надо будет подправлять? Корзина, как я понял из беглого просмотра cart_functions.php, вообще не принимает участия в расчете суммы, а order_functions использует в итоге именно discount_functions?
  • 0
Make love, not work!

#4 Valery

    Пользователь

  • Assistent vsupport.club
  • PipPip
  • 10 сообщений
Репутация: 0
Начинающий

Отправлено 28 October 2013 - 11:22 AM

Очень актуальный вопрос расчет скидок на акционные товары.

Посмотрела в тот же файл, но не могу сообразить что сделать, что б на товар в спецпредложении скидка не считалась.
Подскажите, чуть более подробно, пожалуйста.
  • 0

#5 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 28 October 2013 - 12:31 PM

Подскажите, чуть более подробно, пожалуйста.

Подсказываю более подробно. Надо полностью переделать систему расчета скидки, т.к. штатно она считается от суммы заказа и на момент расчета отдельно взятые товары в расчете уже не участвуют. Насколько я помню. Видимо, надо как-то параллельно общей сумме заказа подсчитывать общую сумму товаров, для которых не запрещена скидка и вести эту сумму через все расчеты, используя ее для получения размера скидки вместо скидки с общей суммы заказа. Я бы эту сумму для удобства хранил в $_SESSION, т.к. все равно "одна сессия - один заказ".
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#6 SoVA

    Продвинутый пользователь

  • Download User
  • PipPipPip
  • 66 сообщений
Репутация: 0
Начинающий
  • ГородКраснодар

Отправлено 29 October 2013 - 10:32 AM

Смеркалось... :)
А я тем временем пока еще даже не смотрел толком в код. Судя по предыдущему посту, "смотреть" придется оочень пристально :)
Не зря меня сразу смутило это Ваше

Удачи .

со смайликом :)
  • 0
Make love, not work!

#7 BestFish

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 49 сообщений
Репутация: 0
Начинающий

Отправлено 27 March 2014 - 08:37 PM

Очень актуальный вопрос расчет скидок на акционные товары.


Подскажите, есть решение? Очень часто сталкиваюсь с проблемой скидки на специальную цену...
  • 0

#8 winni-pyx

    Пользователь

  • Download User
  • PipPip
  • 27 сообщений
Репутация: 0
Начинающий

Отправлено 14 April 2014 - 09:05 AM

а есть какой нибудь модуль, который делает скидку на определенный процент или сумму, если клиент вводит какой нибудь код\купон и т.д.?
  • 0

#9 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 14 April 2014 - 01:34 PM

А в поиске слово "купон" набрать рука не поднялась? :)
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)