Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

api обновление пользовательских свойств обновляет все заново как сделать правельно все?

00 голосов
1
Код
global $DB, $USER;

$user_id = intval($USER->GetID());

   CModule::IncludeModule("iblock");
         CModule::IncludeModule("file");

      $db_props = CIBlockElement::GetProperty (1, 3, array("sort" => "asc"), Array("CODE"=>"favorit"));
      $add = true;
      
      while($ar_props = $db_props->Fetch()){
         //ищем значение для данного пользователя c текущем
         if($ar_props[VALUE]==$user_id) // если нашли то не будем добавлять
         $add=false;
      }
      //Если в массиве нету нечего то нужно добавить значение
      if($add==true){
      
         $PROPERTY_CODE = "favorit"; 
         $PROPERTY_VALUE = $user_id;  
         // Установим новое значение для данного свойства данного элемента   
         CIBlockElement::SetPropertyValuesEx(3, false, array($PROPERTY_CODE => $PROPERTY_VALUE));   
             print '22';         
      }


Затирает все значени а мне нужно чтобы обнавил или создал новое не трагая старые значения посмотрите где я ошибся
спросил 13 Март, 13 от hAWPeN (640 баллов)

1 Ответ

00 голосов
нашел решение
кормить надо весь массив значений обратно (((
$PROPERTY_VALUE[] = array('VALUE' => $ar_props[VALUE]);
ответил 13 Март, 13 от hAWPeN (640 баллов)