Добрый день! Кастомизировал компонент sale.order.ajax таким образом чтбы корзина с возможностью ввода купона, изменения количества и удаления товара была на одной странице с формой заказа. Офомляю заказ, в POST уходят следующие данные:
Код |
---|
sessid af37ce2447269e9ecfa81739531979c0
QUANTITY_242 1
COUPON
ORDER_PROP_36 344000 Ростов-на-Дону, ул.Большая садовая №36
ORDER_PROP_38 ПЭК
PAY_SYSTEM_ID 6
PERSON_TYPE 2
PERSON_TYPE_OLD 2
ORDER_DESCRIPTION
PROFILE_ID 63
showProps Y
tmp_val
tmp 0
BUYER_STORE 0
confirmorder Y
profile_change N
is_ajax_post N
json N
submitbutton Подтверждаю заказ
|
, проблема в том что в момент заказа у пользователя изменяется имя из аказ уходит вникуда. Я поставил на событие обновления, добавления пользователя остановку и что я вижу:
Код |
---|
AddEventHandler("main", "OnBeforeUserRegister", "OnBeforeUserRegisterHandler");
AddEventHandler("main", "OnBeforeUserSimpleRegister", "OnBeforeUserRegisterHandler");
AddEventHandler("main", "OnBeforeUserAdd", "OnBeforeUserRegisterHandler");
AddEventHandler("main", "OnBeforeUserUpdate", "OnBeforeUserRegisterHandler");
function OnBeforeUserRegisterHandler(&$arFields)
{
echo "<pre>";
print_r($arFields);
echo "</pre>";
die();
}
|
в массив $arFields попали данные одного из товаров:
Код |
---|
Array
(
[IBLOCK_ID] => 10
[~IBLOCK_ID] => 10
[ID] => 34
[~ID] => 15360
[NAME] => Брюки клетка/фиолетовый, 25
[~NAME] => Брюки клетка/фиолетовый, 25
[PROPERTY_MORE_PHOTO_VALUE] => /upload/medialibrary/750/2394_f2.jpg
[~PROPERTY_MORE_PHOTO_VALUE] => /upload/medialibrary/750/2394_f2.jpg
[PROPERTY_MORE_PHOTO_VALUE_ID] => 146668
[~PROPERTY_MORE_PHOTO_VALUE_ID] => 146668
[DELIVERY_SERVICES] => ПЭК
[ADDRESS] => 344000 Ростов-на-Дону, ул.Большая садовая №36
) |
и поле NAME воспринимает как новое имя пользователя делающего заказ (не смотря на параметр
profile_change N) и меняет его имя. Тут же слетает профиль покупателя и заказ уходит вникуда. И корзина очищается и заказа нет. Куда копать ума не приложу.