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


Фотография
- - - - -

Бонусная система

бонусная система

Лучший Ответ SmetDenis , 04 April 2014 - 11:11

События заказа можно посмотреть тут
media\zoo\applications\jbuniversal\framework\events\jbevent.basket.php

Как пользоваться событиями описано тут

 

Чтобы получить из из объекта заказа его статус сделайте примерно следующее

print_r($item->getElement('ELEMENT_ID_CART_ITEMS')->data());
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 17

#1 Giadastar

Giadastar

Отправлено 03 April 2014 - 20:21

Необходимо сделать бонусную систему. Принцип работы такой:

 

На каждые полные 1000 рублей покупки бонусы начисляются согласно шкале:
общая сумма покупок до 5000 руб. - 30 бонусов
более 5000 руб. - 50 бонусов
и т.д.
При покупке товара со скидкой Бонусы не начисляются.
На сумму покупки, оплаченную Бонусами, Бонусы не начисляются
Единовременно Бонусами можно оплатить до 20% стоимости покупки. 
Один Бонус эквивалентен одному рублю. 
Минимальное количество Бонусов, принимаемых к оплате - 10.
Количество Бонусов при расчетах кратно 10-ти.
 
Есть у кого-то идеи с чего начать?
 
Как отследить момент изменения статуса товара на "Оплачен", чтобы начислить бонусы и в каком это файле вообще?
 
PS. Joomla: 2.5.19     JBZoo: 2.1.2 Pro

  • 0

#2 Sliapy

Sliapy

Отправлено 03 April 2014 - 20:29

Без очень серьезных знаний в PHP, API Joomla и Zoo здесь не обойтись. Такое решение не пишется "на коленке". Вы всегда можете обратиться в коммерческий раздел либо попробовать реализовать это самостоятельно - вопрос явно выходит за рамки тех.поддержки JBZoo.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 Giadastar

Giadastar

Отправлено 03 April 2014 - 20:40

Да, это понятно. Всю логику работы я напишу сам.

Меня интересуют конкретные вещи - первым делом где (в каком файле) можно отследить событие оплаты товара, чтобы привязать туда начисление бонусов...


  • 0

#4 SmetDenis

SmetDenis

Отправлено 04 April 2014 - 11:11   Лучший Ответ

События заказа можно посмотреть тут
media\zoo\applications\jbuniversal\framework\events\jbevent.basket.php

Как пользоваться событиями описано тут

 

Чтобы получить из из объекта заказа его статус сделайте примерно следующее

print_r($item->getElement('ELEMENT_ID_CART_ITEMS')->data());

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#5 Giadastar

Giadastar

Отправлено 04 April 2014 - 12:08

Спасибо! Буду смотреть.


  • 0

#6 Giadastar

Giadastar

Отправлено 04 April 2014 - 16:47

media\zoo\applications\jbuniversal\framework\events\jbevent.basket.php

тут, на сколько я понял, обрабатывается в момент заказа на сайте, т.е. когда в корзине все заполнили и нажали Оформить заказ.

 

а можно как-то отследить именно момент оплаты, например когда в админке поменяли статус на "Оплачено"

 

Прикрепленные изображения

  • screen.jpg

  • 0

#7 SmetDenis

SmetDenis

Отправлено 05 April 2014 - 17:30

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

добавить свой код в файл

media\zoo\applications\jbuniversal\elements\jbbasketitems\jbbasketitems.php

bindData() - срабатывает при сохранении материала, т.е пришедшие извне данные $data сохранит в элемент

там же можно найти функцию paymentCallback, которая срабатывает когда платежная система оповещает сайт об оплате.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#8 feedmy.name

feedmy.name

Отправлено 05 April 2014 - 17:37

а можно подключить биллинг

 

может вас устроит сторонние расширение вот оно

 

сразу напишу: не тестировал, не покупал, наткнулся случайно так как там была именно ваше желание! бонусы и прочее. в видео ролике разработчик рассказывает про разные валюты и прочее. разработка дополнительного компанента от 100$

 

само расширение 200$

 

рассматривал на будущие!

 

может быть Денису будет тоже интересно подсмотреть что там и как ;) мб появятся новые идеи (fingers)


Сообщение отредактировал feedmy.name: 05 April 2014 - 17:38

  • 0

you call my joomla wonderfull but yet i called simple : )


#9 Giadastar

Giadastar

Отправлено 05 April 2014 - 18:11

ОК буду копаться дальше. Спасибо!


  • 0

#10 Giadastar

Giadastar

Отправлено 06 April 2014 - 11:16

Спасибо, с этим все получилось!
 
Подскажите, пожалуйста, как можно программно передать в заказ стоимость товара без скидки? Т.е. в корзине не нужно визуальное отображение базовой цены, нужно только знать есть ли у товара скидка? В идеале, чтобы в таблицу __zoo_item записалась и базовая цена, и цена со скидкой...
Вот сюда:
{
        "1af7e792-bcff-4a6c-9bdb-dd5023b0251a":  {
        "is_advance": true,
        "items":  {
            "6":  {
                "hash": "6",
                "sku": "1",
                "itemId": "6",
                "quantity": 1,
                "price": 427.953,
                "currency": "RUB",
                "priceDesc": "",
                "priceParams":  {
             
                },
                "name": "\u041a\u0430\u0442\u0443\u0448\u043a\u0430 Daiwa Crest 2200"
            },
        }
    }
}

  • 0





Темы с аналогичным тегами бонусная система

Click to return to top of page in style!