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


Накопительные бонусы


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

#1 ruter

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

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 21 December 2011 - 11:08 PM

Наконец публикую исправленную мною версию модуля Накопительные Бонусы.

Что сделано:
  • правильная проверка даты срока действия бонусов.
  • Передача бонусов другому логину теперь правильная при списывании бонусов дата переводится в NULL у того кто передает. т.е сбрасывается.
  • Сделал отображение срока годности бонусов (дата окончания) в личном аккаунте покупателя и при подтверждении заказа. А то непонятно когда кончаются (до этого только админ знал сколько он выставил дней годности). Сделал уведомление, если бонусы просрочены, следите за сроком годности. После этого при новом заказе просроченные бонусы сбрасываются в 0 и записываются вновь начисленные с новой дата отсчета.
  • Добавил в админку при просмотре админом списка покупателей вкладку Бонусы, сколько бонусов у покупателя, раньше этого ничего не было. Непонятно сколько бонусов у кого вообще, не БД же лазить если, что посмотреть.
  • Добавил больше информативности при оплате бонусами при подтверждении заказа.
  • Переписал функцию валидации при оплате бонусами. Сделал правильное сравнение вводимых бонусов. Замена запятой на точку при проверке и при записи в БД.
  • Добавлена отправка и отображение оплаты бонусами в шаблонах уведомлений e-mail.
Файлы отображения цены в кратком описании продукта с учетом бонусов корректировке не подвергались, поскольку считаю отображение цены с бонусами не нужно. Кто хочет может использовать. Кто нет просто могут не менять файлы product_breef.php и product_breef.tpl.html

Особенности валют:

При использовании одной валюты:
выставляется основная валюта в настройках магазина. Все цены устанавливаются в этой валюте с курсом настроек валюты равной 1.

При использовании мультивалют:
Выставляется одна основная в настройках магазина. Цены устанавливаются в этой валюте. В настройках валют выставляются курсы по отношению к ней.
У основной валюты курс равен 1.
В бонусном модуле при использовании основных валют $, евро, гривна с разрядностью 2, для российских рублей рекомендуется
выставить разрядность также равной 2 для избежания погрешности начисления и списания бонусов.

Для белорусских рублей требуется тестирование, поскольку для меня неизвестно какое округление приемлимо для рассчетов в белоруских рублях.

При обнаружении ошибок и неточностей: Просьба как можно подробней описать режим тестирования при котором появляется ошибка, если таковая
имела место и сообщить мне или здесь в теме на форуме, для скорейшего её устранения.

Надеюсь моя работа сделана не зря.
Скачать модуль бесплатно (Перезаливка (обновлено от 11.05.2012)):
В модуле учтена правка по валидации http://vsupport.club...dpost__p__17652

Правка по начислению бонусов при оплате бонусами не вносилась (это кому надо, см. пост и вносите правки): http://vsupport.club...dpost__p__15647

Правка для отображению количества бонусов в подробном описании товара также не внесена, берите и правьте согласно поста: http://vsupport.club...dpost__p__17655

Прикрепленные файлы


  • 2

#2 Salp

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

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 22 December 2011 - 11:54 AM

Как он уживается с "Редактированием заказов в админ панели"?
  • 0

#3 Dbus

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

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 22 December 2011 - 11:56 AM

Как он уживается с "Редактированием заказов в админ панели"?


нормально уживается. если изменения в шаблон вносить очень внимательно.
  • 0
502 Bad Gateway

#4 Salp

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

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 22 December 2011 - 12:07 PM

Dbus, php файлов нет пересекающихся, только шаблон?
  • 0

#5 Dbus

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

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 22 December 2011 - 12:18 PM

Dbus, php файлов нет пересекающихся, только шаблон?

Вот тут не помню... может и есть, но там не так заморочено
  • 0
502 Bad Gateway

#6 ruter

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

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 22 December 2011 - 12:55 PM

Вот тут не помню... может и есть, но там не так заморочено


В модуле редактирования заказа задействованы
также файлы из модуля бонусов: order_functions.php, custord_new_orders.php и custord_new_orders.tpl
их нужно сравнивать, так как они пересекаются и вносить правки.

Единственное при редактировании заказа невозможно будет править сумму бонусов. Это отдельная работа и я ею займусь позже.
Но у меня с ним сейчас работает, так как установлен модуль редактирования тоже.
  • 0

#7 vakkula

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

  • Download User
  • PipPipPip
  • 101 сообщений
Репутация: 6
Начинающий

Отправлено 22 December 2011 - 02:31 PM

А че такой большой хайд! блин((( Не хочется хлудить абы скачать модуль
  • 0

#8 vsupport

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

  • Администраторы
  • 758 сообщений
Репутация: 31
Ассистент

Отправлено 22 December 2011 - 02:32 PM

А че такой большой хайд! блин((( Не хочется хлудить абы скачать модуль

У Вас 76 сообщений, дополнительных полезных 4 сообщения это не такуж и много
  • 0

#9 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 24 January 2012 - 06:02 PM

Надеюсь моя работа сделана не зря.

Конечно не зря....

Есть еще одна недоработка, нет проверки на кол-во бонусов.

Допустим при заказе отображается доступно 240 рублей, а я введу оплатить 500 рублей, то заказ примет - напишет спасибо за покупку и все. Потом в админке видно что человек оплатил бонусами в размере 500 рублей, хотя у него было всего 240, но если пересчитать сумму заказа то видно что не учтены ни 240 ни 500... думаю перед отправкой нужно добавить простенькую проверку введенной суммы на доступность..... с всплывающим окошком "Сам дурак!"

либо просто чтобы учитывалась максимально доступная сумма... а остальное просто отбрасывалось, но окошко наверное будет правильнее.
  • 0

#10 ruter

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

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 24 January 2012 - 07:39 PM

Есть еще одна недоработка, нет проверки на кол-во бонусов.

Допустим при заказе отображается доступно 240 рублей, а я введу оплатить 500 рублей, то заказ примет - напишет спасибо за покупку и все. Потом в админке видно что человек оплатил бонусами в размере 500 рублей, хотя у него было всего 240, но если пересчитать сумму заказа то видно что не учтены ни 240 ни 500... думаю перед отправкой нужно добавить простенькую проверку введенной суммы на доступность..... с всплывающим окошком "Сам дурак!"

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


Да нет все нормально работает и проверяет и заменяет запятую на точку в проверке. Есть функция, которая это делает. Нужно в файле
order4_confirmation.tpl.html три правки делать (в заливке это есть):
1) для вывода окошка для ввода бонуса на оплату;
2) фукция javascript для валидации введенных данных и запрета на оплату превышающих сум, имеющихся на счете и ограниченных порогом оплаты заказа;
3) на ссылке отправки формы (в конце файла) - передача аргументов в функцию валидации.

И еще удалите пожалуйста этот кусок кода из конца файла - он для дебугера, на работающем сайте не следует оставлять в шаблоне ( я забыл убрать):
{if isset($smarty.get.debugmode)}
{debug_quicky}
{/if}

  • 0

#11 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 24 January 2012 - 08:06 PM

Да нет все нормально работает и проверяет и заменяет запятую на точку в проверке. Есть функция, которая это делает. Нужно в файле
order4_confirmation.tpl.html три правки делать (в заливке это есть):
1) для вывода окошка для ввода бонуса на оплату;
2) фукция javascript для валидации введенных данных и запрета на оплату превышающих сум, имеющихся на счете и ограниченных порогом оплаты заказа;
3) на ссылке отправки формы (в конце файла) - передача аргументов в функцию валидации.

И еще удалите пожалуйста этот кусок кода из конца файла - он для дебугера, на работающем сайте не следует оставлять в шаблоне ( я забыл убрать):



Да код для валидации я нашел, только он не пашет, по крайней мере у меня (установка из архива) сравнивал файлы и вносил изменения в свои

код для дебегера убрал....

---------- Сообщение объединено ----------

И еще выяснилось что отчет об использовании бонусов приходит в неправильной кодировке.... я с этим еще не разбирался - вернусь к тестам позже...
  • 0

#12 ruter

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

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 24 January 2012 - 08:10 PM

Да код для валидации я нашел, только он не пашет, по крайней мере у меня (установка из архива) сравнивал файлы и вносил изменения в свои


Странно, я только что проверил. У меня стоит на denwere отдельная копия магазина на котором я и делал модуль на дефолтном движке, чтобы выложить код здесь. Проверил только, что: зачислил на счет покупателя 240 руб. (ограничение стоит на оплату не более 30% от заказа). При попытке вввести 500 руб. Появляется окошко: Для оплаты доступно 240 руб. из 240 руб. и не дает проплатить 500 руб.
А в order4_confirmation.php изменения делали?
  • 0

#13 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 24 January 2012 - 08:20 PM

(ограничение стоит на оплату не более 30% от заказа).

ну я говорю не об этом случае а когда ограничение стоит не важно на сколько просто на балансе меньше чем человек ввел, а с этим ограничением я и не пробовал. Ну есть конечно вариант что я что-то криво поставил, т.к. там уже установлено ЧПУ и Купоны (при чем изза купонов пришлось немного переверстать) но на проверке это не должно было отобразиться.........

А в order4_confirmation.php изменения делали?

Правки делал во всех файлах так как в папке core

Ну я немного освобожусь попробую поставить на чистый двиг без доп. модулей - посмотрю что получится, заодно проверю и отчеты.
Главное не забыть )))
  • 0

#14 ruter

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

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 24 January 2012 - 08:55 PM

Да код для валидации я нашел, только он не пашет, по крайней мере у меня (установка из архива) сравнивал файлы и вносил изменения в свои

код для дебегера убрал....

---------- Сообщение объединено ----------

И еще выяснилось что отчет об использовании бонусов приходит в неправильной кодировке.... я с этим еще не разбирался - вернусь к тестам позже...


Файлы отчетов сохраните в нужной кодировке, через блокнот

---------- Сообщение объединено ----------

У меня этот модуль стоит и тестируется на рабочем сайте уже месяц. Все работает, пока нареканий нет.

Но столкнулся с такой проблемой. Дело в том, что в модуле реализовано начисление бонусов только за заказ в котором нет оплаты бонусами. Т.е. если оплачивается бонусами, то при переводе заказа в статус Доставлен (Статус окончания заказа) начисления бонусов не происходит.

Я предполагал, что возникнут вопросы и общался на эту тему с другими людьми, что делать если начнут задавать вопросы, почему не начисляются бонусы при частичной оплате заказа бонусами? Люди мне посоветовали не заморачиваться, мол так нормально, как есть.

НО жизнь показывает обратное, мне начали поступать письма (Почему не начислены бонусы за прошлый заказ?). ПРосмотрев заказы увидел что люди например имеют бонусы 400 руб. Оплачивают не 400 а 40 (360 руб. оставляет на счету), при этом бонусы не начисляются. Как это объяснить? Вот и не заморачивайся по совету людей.
Как объяснить, почему? Клиент прав и тут крыть не чем. Получается что клиенту не выгодно платить бонусами.

В общем меня замучили этими претензиями. Я не стал заморачиваться и сделал, чтобы начисление происходило всегда с оставшейся суммы заказа.
Т.е. с суммы со всеми вычетами.

Сделать это проще простого:

Берете файл order_status_functions.php и полностью убираете или комментируете строки 289 и 290 (условия оплаты бонусами) и 313 (заключительная скобка условий) и обновляете файл и сброс кеша. Теперь начисляться бонус будет при каждом выполненном заказе.

Если у кого есть видение, как реализовать по-другому сам алгоритм начислений и оплаты, то пишите может найдется более правильное решение -самой технологии - как правильно начислять бонусы и оплачивать заказы.
  • 0

#15 Valera

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

  • Пользователи
  • PipPip
  • 13 сообщений
Репутация: 0
Начинающий

Отправлено 25 January 2012 - 10:46 AM

а скачать то где?
  • 0

#16 dorian

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

  • Assistent vsupport.club
  • PipPipPip
  • 107 сообщений
Репутация: 24
Ассистент

Отправлено 03 February 2012 - 09:03 AM

у меня вопрос по работе модуля - бонус начисляется как только клиент оформил заказ или когда установлен статус выполненного заказа?
  • 0

#17 ruter

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

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 07 February 2012 - 08:10 PM

у меня вопрос по работе модуля - бонус начисляется как только клиент оформил заказ или когда установлен статус выполненного заказа?


Бонус начисляется только когда заказ выполнен, в момент перевода в этот статус.
  • 0

#18 Salp

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

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 09 February 2012 - 08:59 AM

Надо бы какую-то формочку чтобы можно было удобно начислять и снимать бонусы вручную.
Есть необходимость оплачивать некоторые услуги и было бы неплохо, если бы это было бонусами.
Также неплохо бы при ручном начислении чтобы было уведомление на email.

---------- Сообщение объединено ----------

Убрал проверку на оплату бонусов чтобы они начислялись при каждом заказе, независимо платил ли покупатель бонусами или нет.
Но есть еще момент. Получается, чтобы обновить дату бонусов нужно их полностью потратить?
На мой взгляд, это несколько нелогично.

---------- Сообщение объединено ----------

При отмене заказа бонусы обратно не возвращаются.
  • 0

#19 ruter

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

  • VIP
  • 334 сообщений
Репутация: 151
Мастер

Отправлено 11 February 2012 - 09:35 PM

Надо бы какую-то формочку чтобы можно было удобно начислять и снимать бонусы вручную.
Есть необходимость оплачивать некоторые услуги и было бы неплохо, если бы это было бонусами.
Также неплохо бы при ручном начислении чтобы было уведомление на email.



О формочке редактирования бонусов я думал. Но поджимало время тогда это сделать. Это не сложно. Думаю, что скоро сделаю. А по поводу уведомления, это хорошая мысль, чтобы клиент знал откуда ему и за что добавлены дополнительные бонусы.

Убрал проверку на оплату бонусов чтобы они начислялись при каждом заказе, независимо платил ли покупатель бонусами или нет.
Но есть еще момент. Получается, чтобы обновить дату бонусов нужно их полностью потратить?
На мой взгляд, это несколько нелогично.


Смысл в том, что покупатель не может обновлять дату годности бонусов - это логично (иначе зачем тогда нужен срок годности бонусов), это стимулирует его делать заказ или заказы. А так можно постоянно отодвигать и ничего не заказывать. Задача бонусов - стимулирование повторных покупок в определенных рамках времени. Аннулирование бонуса - это стимул.


При отмене заказа бонусы обратно не возвращаются.


Я думал об этом. Нормально, что пропадают. Об этом можно написать, чтобы не отменяли заказы при оплате бонусами иначе они пропадут безвозвратно.
Конечно можно реализовать возврат, но нужно ли?
  • 0

#20 Salp

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

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 11 February 2012 - 11:44 PM

Смысл в том, что покупатель не может обновлять дату годности бонусов - это логично (иначе зачем тогда нужен срок годности бонусов), это стимулирует его делать заказ или заказы. А так можно постоянно отодвигать и ничего не заказывать. Задача бонусов - стимлирование повторных покупок в определенных рамках времени. Аннулирование бонуса - это стимул.

Можно ведь, сделать заказ, но при этом не потратить все бонусы. Такая возможность есть. При этом будут начислены новые бонусы, но срок их действия будет невелик. Вот в чем нелогичность. Заказ сделан, цель достигнута. Бонусы начислены, но практически сразу устарели - вот это странно. Пусть при начислении и продляет сразу.

Я думал об этом. Нормально, что пропадают. Об этом можно написать, чтобы не отменяли заказы при оплате бонусами иначе они пропадут безвозратно.
Конечно можно реалиазовать возврат, но нужно ли?

Согласен, но бывает, что заказ отменяется не по вине клиента. Здесь бы могло выручить ручное начисление.
Вот как-то так, только нужно еще добавить поле для комментариев для отправки клиенту при начислении и снятии:[ATTACH]335.vB[/ATTACH]
  • 0