Однажды мне была поставлена задача — доработать компонент интернет магазина Virtuemart таким образом, чтобы стало возможно использование бонусных баллов по примеру крупных торговых площадок. Данная заметка о том, как в итоге реализовал данную возможность я.
Сразу хочется сказать, что речь не идет о готовом решении. Я не стал городить огород и выдумывать плагин, создание которого если и было возможно, то только на основе переопределения классов. Подобный плагин однозначно не позволял бы полноценно обновлять компонент.
Как ни крути вопрос о последующих обновлениях Virtuemart закрывался, и поэтому я с чистой совестью стал редактировать код компонента.
Как работают бонусные баллы?
Итак, начну рассказ о том, как работает система бонусных баллов, созданная мной.
У зарегистрированного покупателя есть свой бонусный счет. Бонусный счет может пополняться двумя способами.
Первый — после покупки товара. После совершения заказа пользователю начисляется определенное значение бонусных баллов, которое высчитывается согласно коэффициенту, указанному в настройках.
Собственно, как написано в настройках, курс устанавливается очень просто. Если указано значение 100, то за 100 потраченных рублей начисляется один балл.
Здесь же, в настройках, устанавливается минимальная сумма заказа, после которой возможно использование бонусных баллов.
Например, если указано значение 100, то пока сумма в корзине не превысит 100 рублей, то использование бонусных баллов в корзине будет невозможно.
Второй вариант начисления бонусных баллов — это купоны.
Здесь хочется рассказать о том, что купоны в том виде, в каком они задуманы в Virtuemart, «пошли под нож».
Стало невозможным ввести код купона в корзине и получить скидку. У купонов стало другое предназначение.
Купоны выдаются покупателям. Например, посредством электронной почты. У купона, как и ранее, есть код, который, собственно говоря и высылается покупателю, а также значение и срок действия.
Купон активируется в личном кабинете покупателя. И после его активации на личный бонусный счет зачисляется сумма, указанная в настройках купона.
Если в течении срока действия купона не сделано ни одного заказа, то баллы начисленные после активации купона обнуляются.
Здесь же, в личном кабинете, доступна история бонусного баланса. В случае пополнения бонусного баланса в результате заказа, указывается номер заказа с возможностью его просмотра.
Бонусы могут быть начислены администратором сайта вручную. Для этого необходимо открыть на редактирование пользователя в Virtuemart и нажать кнопку «Пополнить баланс»
Использование бонусных баллов покупателем
Бонусные баллы активируются покупателем очень просто. В корзине, там, где было поле ввода для стандартных купонов Virtuemart, отображается бонусный баланс покупателя, а также текстовое поле для ввода бонусных баллов и кнопка «Активировать бонусные баллы»
Один бонусный балл равен одному рублю.
Если покупатель активирует 100 бонусных баллов, то получает скидку на 100 рублей.
После активации бонусных баллов их активированная часть будет заблокирована. Покупатель при желании может отменить активацию бонусных баллов и они вернутся на его бонусный счет.
Заключение
Как я уже говорил, создать готовое решение из коробки по системе бонусных баллов не представлялось возможным. Поэтому оно не продается и никогда не будет продаваться в моем интернет-магазине
Однако, если вам понравился функционал и вы готовы отдать свой интернет-магазин под Virtuemart на растерзание программисту, возможно создание подобной системы у вас.
Ориентировочная стоимость работ: от 5000 рублей
Для того, чтобы разработка стала возможна, ваш сайт должен работать под последней актуальной версией CMS JOOMLA и Virtuemart 3.4 и выше
С уважением, Владимир Егоров