UMIhelp

Разработка дополнительного функционала => Custom макросы => Тема начата: muldy от 10 Июля 2014, 22:30:23

Название: Как обновить значения составных полей?
Отправлено: muldy от 10 Июля 2014, 22:30:23
Здравствуйте!
Столкнулся с проблемой и что то не могу понять как ее решить!
Есть заполненное составное поле несколькими значениями, по примеру:

Название -> Цена ->  Количество, пример ('int' => '10', 'rel' => 2013, 'float' => 400)

И также имею массив с данными:

$arr_systemName = array('Евро' => '2013', '2 спальный'=>'2014', 'Семейный'=>'2015', '1.5 спальный' => '2016');

И новый параметр количество, которые требуется обновить, те в каждом, при каждом точном совпадении обновить количество!!!

В обещм ступор не могу понять как сравнить два массива и проставить новое значение, добавить значение могу, а вот обновить в нем не понятно как это сделать!
Название: Re:Как обновить значения составных полей?
Отправлено: muldy от 13 Июля 2014, 18:25:32
Решение оказалось простое!

$stores = $item->getValue('stores_state'); // Получаем данные с полями
$storesNow = array(); // Создаем пустой массив

// Собираем новый массив с обновлением данных в конкретном значении
foreach ($stores as $store){
   $storesNow[] = array('int' => '3', 'rel' => $store['rel']);
}

// Сохраняем

$item->setValue('stores_state', $storesNow);

Вот и все!