Вдруг кому понадобиться засунуть склады в атрибуты накидал по необходимости
private function function_search_sklad($array, $id) {
foreach ($array->Склад as $item) {
if($item->Ид == $id) return $item->Наименование;
}
return 'Название не найдено';
}
изменить функцию private function parseOffers($xml, $offers_pack, $sklads) { добавив параметры и изменить код ниже
if ($xml->Предложения) {
$this->parseOffers($xml->Предложения, $offers_pack, $xml->Склады);
if ($this->ERROR) return false;
}
добавляем в перебор в функции parseOffers
// Склад как характеристика
if ($offer->Склад) {
$sort_order = 0;
$attribute_group_id = $this->setAttributeGroup('Склады');
$result = array();
foreach ($offer->Склад as $sklad) {
$guid = (string)$sklad['ИдСклада'];
$value = (string)$sklad['КоличествоНаСкладе'];
$name = $this->function_search_sklad($sklads, $guid);
$name = htmlspecialchars($name, ENT_QUOTES);
$attribute_id = $this->setAttribute($guid, $attribute_group_id, $name, $sort_order);
$result[$guid] = array(
'name' => $name,
'attribute_id' => $attribute_id,
'value' => $value,
'for_product' => 1,
'status' => 1,
'required' => 0,
'multiple' => 0
);
$sort_order ++;
}
$data['attributes'] = isset($data['attributes']) ? array_merge ($data['attributes'], $result) : $result;
}