Всем доброго времени суток!
Столкнулся с настоящей магией при работе над одним из проектов, пока не лез в код ядра, чтобы найти ошибку, но быть может кто-то сможет объяснить данную магию.
Что мы имеет:
Товар со свойством типа Строка множественная с описанием, с ней все как обычна
Значение1 - описание1
Значение2 - описание2
Значение3 - описание3
Имеется запрос на выборку данного товара
| Код |
|---|
$id = 3211;
$result = CIBlockElement::GetList([], ["ID" => $id], false,false, ["ID", "NAME", "PROPERTY_CML2_TRAITS"]);
while($a = $result->Fetch())
print_r($a); |
А теперь внимание результаты
1) Результат на сайте, где все хорошо работает
Скрытый текст |
|---|
| Код |
|---|
(
[ID] => 172846
[NAME] => Ботинки женские
[PROPERTY_CML2_TRAITS_VALUE] => Array
(
[0] => Товар
[1] => Товар
[2] => УТ-00032884
[3] => 0.01302
[4] => 0.12
[5] => 0.31
[6] => 0.35
[7] => Серый
[8] => 1.6
)
[PROPERTY_CML2_TRAITS_DESCRIPTION] => Array
(
[0] => ВидНоменклатуры
[1] => ТипНоменклатуры
[2] => Код
[3] => Объем
[4] => Высота
[5] => Глубина
[6] => Ширина
[7] => ЦветМаркетаТовар
[8] => Вес
)
[PROPERTY_CML2_TRAITS_PROPERTY_VALUE_ID] => Array
(
[0] => 5409210
[1] => 5409211
[2] => 5409212
[3] => 5409213
[4] => 5409214
[5] => 5409215
[6] => 5409216
[7] => 5409217
[8] => 5409218
)
) |
|
2) Очень странный результат на другом сайте
Скрытый текст |
|---|
| Код |
|---|
(
[ID] => 237816
[NAME] => Ботинки женские
[PROPERTY_CML2_TRAITS_VALUE] => Товар
[PROPERTY_CML2_TRAITS_VALUE_ID] => 3533298
)
Array
(
[ID] => 237816
[NAME] => Ботинки женские
[PROPERTY_CML2_TRAITS_VALUE] => Товар
[PROPERTY_CML2_TRAITS_VALUE_ID] => 3533299
)
Array
(
[ID] => 237816
[NAME] => Ботинки женские
[PROPERTY_CML2_TRAITS_VALUE] => УТ-00019983
[PROPERTY_CML2_TRAITS_VALUE_ID] => 3533300
)
Array
(
[ID] => 237816
[NAME] => Ботинки женские
[PROPERTY_CML2_TRAITS_VALUE] => 0
[PROPERTY_CML2_TRAITS_VALUE_ID] => 3533301
) |
|
В чем может быть проблема? Почему в первом случае результат приходит в одном массиве, а в другом множественное поле находится в 4-х