Здравствуйте!
Есть сайт-каталог на базе лицензии "Старт". Мне нужно вывести на нем список вариаций товаров. Вариация определяется по артикулу. Соответственно, какой артикул - такая и цена.
А проблема в том, что когда я пытаюсь выгрузить, допустим, один такой товар (где несколько артикулов и цен соответственно), то он мне выдает совершенно рандомный массив, где допустим, он выведет первые 3 элемента массива, где будет один артикул и на каждый из этих массивов своя цена. Потом следующие 3 элемента - там другой артикул, но в том-же порядке 3 цены и так далее...
Что не так в методом? Или у меня руки кривые? Логичнее-же было-бы в одном элементе вывести в виде многомерного массива в соответствующем порядке эти значения (примерно как мы видим это в админке).
Подскажите, пожалуйста, можно-ли как-то привести к логичному виду эти значения, чтобы если есть цена в первой строке и артикул - то они только друг с другом-бы сопоставлялись? Вот код:
Есть сайт-каталог на базе лицензии "Старт". Мне нужно вывести на нем список вариаций товаров. Вариация определяется по артикулу. Соответственно, какой артикул - такая и цена.
А проблема в том, что когда я пытаюсь выгрузить, допустим, один такой товар (где несколько артикулов и цен соответственно), то он мне выдает совершенно рандомный массив, где допустим, он выведет первые 3 элемента массива, где будет один артикул и на каждый из этих массивов своя цена. Потом следующие 3 элемента - там другой артикул, но в том-же порядке 3 цены и так далее...
Что не так в методом? Или у меня руки кривые? Логичнее-же было-бы в одном элементе вывести в виде многомерного массива в соответствующем порядке эти значения (примерно как мы видим это в админке).
Подскажите, пожалуйста, можно-ли как-то привести к логичному виду эти значения, чтобы если есть цена в первой строке и артикул - то они только друг с другом-бы сопоставлялись? Вот код:
Код |
---|
$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']; } } |