Документация для разработчиков
Темная тема

Update

array
CSaleOrderUserPropsValue::Update(
	$ID,
	$arFields
);

Метод обновляет свойство профиля покупателя в соответствии с массивом параметров arFields. Нестатический метод.

Параметры вызова

ПараметрОписание
ID Идентификатор свойства профиля покупателя. Его можно узнать посмотрев все свойства определённого профиля методом CSaleOrderUserPropsValue::GetList.
arFields Массив значений свойств.
Ключ Описание
ID Идентификатор свойства профиля покупателя. Несмотря на то, что этот идентификатор передаётся как параметр, его необходимо обязательно продублировать в качестве ключа массива arFields. В противном случае будет ошибка. Идентификатор сожно узнать, например, посмотрев все профили пользователя методом CSaleOrderUserProps::GetList.
USER_PROPS_ID Код профиля покупателя.
ORDER_PROPS_ID Код свойства заказа.
NAME Название свойства заказа.
VALUE Значение свойства заказа, сохраненное в профиле покупателя.

 

Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
2
Александр Ильин
Сообщение не промодерировано, возможны ошибки и неточности.
Задача в профиле текущего покупателя изменить несколько значений.
Код
$db_sales = CSaleOrderUserProps::GetList(array("DATE_UPDATE" => "DESC"), array("USER_ID" => $USER->GetID()) );//ищем последний изменённый профиль пользователя
$ar_sales = $db_sales->Fetch();
//получаем текущие значения
if ($ar_sales["ID"]) {
   $db_propVals = CSaleOrderUserPropsValue::GetList(array("ID" => "ASC"), Array("USER_PROPS_ID"=>$ar_sales["ID"]));
   while ($arPropVals = $db_propVals->Fetch()){
      $userProfileOrder[$arPropVals['PROP_CODE']] = $arPropVals;
   }
}
//перебираем значения и ставим что нам необходимо
foreach ($userProfileOrder as $key => $ProfValue) {
   $arField = array();
   $arField = array(
             "USER_PROPS_ID" => $ProfValue["USER_PROPS_ID"],
             "ORDER_PROPS_ID" => $ProfValue["ORDER_PROPS_ID"],
             "NAME" => $ProfValue["NAME"],
        );

        switch ($key) {
           case 'FIO':
              $arField['VALUE'] = $_POST['LAST_NAME']." ".$_POST['NAME']." ".$_POST['SECOND_NAME'];
              CSaleOrderUserPropsValue::Update($ProfValue["ID"] , $arField);
             break;
           case 'EMAIL':
              $arField['VALUE'] = $_POST['EMAIL'];
              CSaleOrderUserPropsValue::Update($ProfValue["ID"] , $arField);
             break;
           case 'PHONE':
              
              $arField['VALUE'] = $arUser['PERSONAL_PHONE'];
              CSaleOrderUserPropsValue::Update($ProfValue["ID"] , $arField);
              
           break;
    }
          
}
если нужно быстро проверить после можно вставить
Код
$db_propVals = CSaleOrderUserPropsValue::GetList(array("ID" => "ASC"), Array("USER_PROPS_ID"=>$ar_sales["ID"]));
while ($arPropVals = $db_propVals->Fetch()){
   echo $arPropVals["PROP_CODE"]."=".$arPropVals["VALUE"]."<br>";
}
ВАЖНО!
в $ProfValue["ID"] нужно передавать ID свойства созданного для данного пользователя через CSaleOrderUserPropsValue::GetList
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх