Здравствуйте!
Столкнулась с задачей вывести пользовательские свойства заказов (которые мы добавляем сами в Магазин/Настройки/Свойства заказов)
Вот здесь описано как вытащить эти свойства Однако, хоть у меня и тоже есть пользовательское поле LOCATION, этот метод не работает.
Пишу следующим образом:
Если выводить вообще весь массив $db_sales, то получаются следующие строки:
Array
(
[ID] => 36
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 1
[NAME] => Ф.И.О.
[VALUE] => Иванов Иван
[CODE] => FIO
)
Array
(
[ID] => 37
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 2
[NAME] => E-Mail
[VALUE] =>
[CODE] => EMAIL
)
Array
(
[ID] => 38
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 3
[NAME] => Телефон
[VALUE] => 1234567890
[CODE] => PHONE
)
Array
(
[ID] => 39
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 4
[NAME] => Индекс
[VALUE] => 111111
[CODE] => ZIP
)
Array
(
[ID] => 40
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 6
[NAME] => Местоположение
[VALUE] => 821
[CODE] => LOCATION
)
Array
(
[ID] => 41
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 7
[NAME] => Адрес доставки
[VALUE] => Москва
[CODE] => ADDRESS
)
Array
(
[ID] => 48
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 5
[NAME] => Город
[VALUE] => Москва
[CODE] => CITY
)
Как видно, тут есть элементы с кодом LOCATION, однако, они не выводятся почему-то.
И еще вопрос: а как можно программно изменить значения пользовательских свойств?
Столкнулась с задачей вывести пользовательские свойства заказов (которые мы добавляем сами в Магазин/Настройки/Свойства заказов)
Вот здесь описано как вытащить эти свойства Однако, хоть у меня и тоже есть пользовательское поле LOCATION, этот метод не работает.
Пишу следующим образом:
| Код |
|---|
$db_sales = CSaleOrderUserProps::GetList(
array("DATE_UPDATE" => "DESC"),
array("USER_ID" => $arFields['USER_ID'])
);
if($arSaleProps = $db_sales->Fetch()){
// Получаем значения профиля
$db_propVals = CSaleOrderUserPropsValue::GetList(($b="SORT"), ($o="ASC"), Array("USER_PROPS_ID"=>$arSaleProps['ID']));
}
$text.=print_r($db_propVals,true);
if (is_object($db_propVals))
{
while ($arPropVals = $db_propVals->Fetch())
{
if ($arPropVals['CODE']=='LOCATION')
{
$arLocs = CSaleLocation::GetByID($arPropVals['VALUE'], LANGUAGE_ID);
$text.=$arLocs["CITY_NAME"];
}
}
}
|
Array
(
[ID] => 36
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 1
[NAME] => Ф.И.О.
[VALUE] => Иванов Иван
[CODE] => FIO
)
Array
(
[ID] => 37
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 2
[NAME] => E-Mail
[VALUE] =>
[CODE] => EMAIL
)
Array
(
[ID] => 38
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 3
[NAME] => Телефон
[VALUE] => 1234567890
[CODE] => PHONE
)
Array
(
[ID] => 39
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 4
[NAME] => Индекс
[VALUE] => 111111
[CODE] => ZIP
)
Array
(
[ID] => 40
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 6
[NAME] => Местоположение
[VALUE] => 821
[CODE] => LOCATION
)
Array
(
[ID] => 41
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 7
[NAME] => Адрес доставки
[VALUE] => Москва
[CODE] => ADDRESS
)
Array
(
[ID] => 48
[ORDER_ID] => 6
[ORDER_PROPS_ID] => 5
[NAME] => Город
[VALUE] => Москва
[CODE] => CITY
)
Как видно, тут есть элементы с кодом LOCATION, однако, они не выводятся почему-то.
И еще вопрос: а как можно программно изменить значения пользовательских свойств?