Бонусы при регистрации

Тема в разделе "OpenCart", создана пользователем balalar, 12 фев 2013.

  1. balalar

    balalar

    Регистрация:
    12 янв 2013
    Сообщения:
    80
    Симпатии:
    5
    Как думаете есть ли смысл давать бонусы при регистрации? Вроде как это хорошая замануха для покупателя.
    И как это дело можно реализовать??
    Хорошо бы эта возможность включалась в админке и можно было бы сделать типа такую акцию например: "Ко дню 8 марта каждому зарегистрировавшемуся с 1 по 8 марта подарок 50 баллов которые вы сможете потратить на покупку товаров!"
    По моему интересно?! И например в будни за регистрацию 10 баллов в праздники назначать 50 баллов.

    - Вот по поводу реализации. Я так понимаю можно в базе данных задать значение по умолчанию для поля, но это слишком муторно каждый раз править, но думаю это самое простое.
    - Сделать в файлах регистрации проверку на дату и записывать в БД значение бонуса.
    Кто что думает по этому поводу??
     
  2. laer80

    laer80

    Регистрация:
    24 фев 2013
    Сообщения:
    1
    Симпатии:
    0
    Поддерживаю бонусы при регистрации!
    мне надо 250 баллов за новую регистрацию начислять автоматом.
    может кто подскажет в каких файлах OcStore 1.5.4.1 сделать дополнения, для реализации данного функционала?
     
  3. perepela21

    perepela21

    Регистрация:
    9 ноя 2012
    Сообщения:
    250
    Симпатии:
    87
  4. ZloyShadow

    ZloyShadow

    Регистрация:
    12 фев 2013
    Сообщения:
    104
    Симпатии:
    6
    А почему бы при создании новой учётки по дефаулту не поставить в MySQL начисление бонусов?
    Смотрите. Есть такой софт - Navicat For MySQL ( мне удобнее всего ).
    Там в базе данных находите таблицу в котором поле с бонусами указанно ( не с начислением а именно с бонусами ).
    Потом нажимаете на эту таблицу кнопку Design Table , там выбираете это поле и снизу есть поле Default : и туда пишете допустим 50 вместо нуля. ( это бесплатный метод, чуть помучаться и навсегда ) ( не загружает PHP, что важно )
    Ну и посмотреть скрипт надо регистрации передаёт ли он такую информацию.
    А начислять можете поставить через тот же MySQL в базе данных скрипт на начисление всем +10 бонусов допустим и выполнять его когда вам нужно или поставить выполнение через планировщик задач.
    А ежедневные бонусы это уже каждому своё. Кто хочет обанкротится дерзайте)
     
    perepela21 нравится это.
  5. beak

    beak

    Регистрация:
    22 янв 2013
    Сообщения:
    161
    Симпатии:
    43
    Увы, так просто не получится. Данные о пользователе (создаются при регистрации) хранятся в табличке _customer. Баллы (начисляются или вручную через админку, или после смены статуса заказа на "оплачено") хранятся в таблице _customer_reward. Сменить значение по умолчанию бессмысленно, потому как в табличку пишется конкретное число баллов. А жаль...
     
  6. balalar

    balalar

    Регистрация:
    12 янв 2013
    Сообщения:
    80
    Симпатии:
    5
    Да, посмотрел БД там немного все замучено (по сравнению с Джумлой) я думал там сразу все данные в таблице юзера. Но о чем тогда писал ZloyShadow ? Я думал он опробовал решение. ЗлаяТень отпишись плиз, может мы что то не поняли?!
     
  7. vitalone

    vitalone

    Регистрация:
    15 фев 2013
    Сообщения:
    29
    Симпатии:
    4
    Мне кажется напрямую, без всяких настроек и интерфейса править что-то в базе - это, таки да, хороший способ обанкротиться.
     
  8. and1

    and1

    Регистрация:
    1 фев 2013
    Сообщения:
    26
    Симпатии:
    50
    По-моему такие бонусы наоборот будут отпугивать покупателей, если потом еще и поставить какую скидку только за бонус. Скорее бонусы как левый заработок, купил бонус получи скидку. Но по-моему проще сделать просто скидку, чем раздувать базу, делать лишние запросы и переписывать регистрацию.
     
  9. balalar

    balalar

    Регистрация:
    12 янв 2013
    Сообщения:
    80
    Симпатии:
    5
    ну отчего же если по уму то ничего страшного не будет.
     
  10. vitalone

    vitalone

    Регистрация:
    15 фев 2013
    Сообщения:
    29
    Симпатии:
    4
    Оно то конечно да - если "по уму". Но обычно как-раз получается как получается, а не по уму :Smile:
    На клиенте хоть можно какие-то проверки лишние сделать - или по крайней мере не забыть логику какую-то на базе дернуть.
    Я уж не говорю, что делать в ситуации когда у тебя бонусами заведует продавец в магазине - типа говорить ему "чувак, тут для начисления скидок тебе нужно будет ознакомиться с реляционной моделью представления данных", да?

    КМК самый правильный вариант
     
  11. balalar

    balalar

    Регистрация:
    12 янв 2013
    Сообщения:
    80
    Симпатии:
    5
    :smile: да, если не сам рулишь магазином тогда точно, я об этом не подумал.
     
  12. saxum2010

    saxum2010

    Регистрация:
    6 фев 2013
    Сообщения:
    111
    Симпатии:
    34
    как вариант в файле \catalog\model\account\customer.php

    после 16 строки
    Код:
    $customer_id = $this->db->getLastId();
    
    добавить
    PHP:
    $weekDay date('w'strtotime(date('Y-m-d')));
    $points = ($weekDay == || $weekDay == 6) ? '50' '10';
    $this->db->query("INSERT INTO " DB_PREFIX "customer_reward SET customer_id='$customer_id' , points='$points' , description='Points for registration '");