Здравствуйте!
Есть сайт-каталог на базе лицензии "Старт". Мне нужно вывести на нем список вариаций товаров. Вариация определяется по артикулу. Соответственно, какой артикул - такая и цена.
[URL=https://pp.userapi.com/c849120/v849120793/12d12/wbxATkyn6Dw.jpg][IMG WIDTH=194 HEIGHT=906]https://pp.userapi.com/c849120/v849120793/12d12/wbxATkyn6Dw.jpg[/IMG][/URL]
А проблема в том, что когда я пытаюсь выгрузить, допустим, один такой товар (где несколько артикулов и цен соответственно), то он мне выдает совершенно рандомный массив, где допустим, он выведет первые 3 элемента массива, где будет один артикул и на каждый из этих массивов своя цена. Потом следующие 3 элемента - там другой артикул, но в том-же порядке 3 цены и так далее...
Что не так в методом? Или у меня руки кривые? Логичнее-же было-бы в одном элементе вывести в виде многомерного массива в соответствующем порядке эти значения (примерно как мы видим это в админке).
Подскажите, пожалуйста, можно-ли как-то привести к логичному виду эти значения, чтобы если есть цена в первой строке и артикул - то они только друг с другом-бы сопоставлялись? Вот код:[CODE]$arFilter = array(
"IBLOCK_ID" => $iblock_id,
"ID" => $elements_ids, //Массив из ID элементов ИБ
"ACTIVE" => "Y"
);
$my_elements = CIBlockElement::GetList (
Array("ID" => "ASC"),
$arFilter,
false,
false,
Array(
'ID',
'NAME',
'IBLOCK_ID',
'DETAIL_PICTURE',
'DETAIL_PAGE_URL',
'PREVIEW_PICTURE',
'PROPERTY_CURR',
'PROPERTY_PRICE',
'PROPERTY_ARTIKUL',
)
);
while ( $ar_fields1 = $my_elements1->GetNext() ) $main_items[] = $ar_fields1;
$skuS = Array();
foreach ( $main_items as $key => $value ) {
if ( !in_array($value['PROPERTY_ARTIKUL_VALUE'], $skuS) ) {
$arResult['ITEMS2'][] = Array(
'ID' => $value['ID'],
'NAME' => $value['NAME'],
'DETAIL_PAGE_URL' => $value['DETAIL_PAGE_URL'],
'DETAIL_PICTURE_SRC' => CFile::GetPath($value['DETAIL_PICTURE']),
'PROPERTY_PRICE_VALUE' => $value['PROPERTY_PRICE_VALUE'],
'PROPERTY_ARTIKUL_VALUE' => $value['PROPERTY_ARTIKUL_VALUE'],
);
$skuS[] = $value['PROPERTY_ARTIKUL_VALUE'];
}
}
[/CODE]