GetOrderProps
Описание и параметры
CDBResult CSaleOrderPropsValue::GetOrderProps( int ORDER_ID );
Метод возвращает набор значений свойств для заказа с кодом ORDER_ID. Кроме параметров значений свойств возвращаются также некоторые связанные значения. Нестатический метод.
Параметры вызова
Параметр | Описание |
---|---|
ORDER_ID | Код заказа. |
Возвращаемые значения
Возвращается объект класса CDBResult, содержащий ассоциативные массивы параметров значений свойств заказа (и сопутствующие параметры других объектов) с ключами:
Ключ | Описание |
---|---|
ID | Код значения свойства заказа. |
ORDER_ID | Код заказа. |
ORDER_PROPS_ID | Код свойства заказа. |
NAME | Название свойства заказа (привязанное к значению) |
VALUE | Значение свойства заказа. |
CODE | Символьный код свойства заказа. |
PROPERTY_NAME | Название свойства заказа. |
TYPE | Тип свойства заказа. |
PROPS_GROUP_ID | Код группы свойств заказа. |
GROUP_NAME | Название группы свойств заказа. |
IS_LOCATION | Флаг (Y/N) использовать ли это значение в качестве кода местоположения для получения стоимости доставки. |
IS_EMAIL | Флаг (Y/N) использовать ли это значение в качестве email адреса покупателя. |
IS_PROFILE_NAME | Флаг (Y/N) использовать ли это значение в качестве названия профиля покупателя. |
IS_PAYER | Флаг (Y/N) использовать ли это значение в качестве имени покупателя. |
Результирующий набор отсортирован последовательно по индексу сортировки группы свойств заказа, названию группы свойств заказа, индексу сортировки свойства заказа, названию свойства заказа.
Примеры использования
<? // Выведем все свойства заказа с кодом $ID, сгруппированые по группам свойств $db_props = CSaleOrderPropsValue::GetOrderProps($ID); $iGroup = -1; while ($arProps = $db_props->Fetch()) { if ($iGroup!=IntVal($arProps["PROPS_GROUP_ID"])) { echo "<b>".$arProps["GROUP_NAME"]."</b><br>"; $iGroup = IntVal($arProps["PROPS_GROUP_ID"]); } echo $arProps["NAME"].": "; if ($arProps["TYPE"]=="CHECKBOX") { if ($arProps["VALUE"]=="Y") echo "Да"; else echo "Нет"; } elseif ($arProps["TYPE"]=="TEXT" || $arProps["TYPE"]=="TEXTAREA") { echo htmlspecialchars($arProps["VALUE"]); } elseif ($arProps["TYPE"]=="SELECT" || $arProps["TYPE"]=="RADIO") { $arVal = CSaleOrderPropsVariant::GetByValue($arProps["ORDER_PROPS_ID"], $arProps["VALUE"]); echo htmlspecialchars($arVal["NAME"]); } elseif ($arProps["TYPE"]=="MULTISELECT") { $curVal = split(",", $arProps["VALUE"]); for ($i = 0; $i<count($curVal); $i++) { $arVal = CSaleOrderPropsVariant::GetByValue($arProps["ORDER_PROPS_ID"], $curVal[$i]); if ($i>0) echo ", "; echo htmlspecialchars($arVal["NAME"]); } } elseif ($arProps["TYPE"]=="LOCATION") { $arVal = CSaleLocation::GetByID($arProps["VALUE"], LANGUAGE_ID); echo htmlspecialchars($arVal["COUNTRY_NAME"]." - ".$arVal["CITY_NAME"]); } echo "<br>"; } ?>
//выборка по нескольким свойствам (например, по LOCATION и ADDRESS): $dbOrderProps = CSaleOrderPropsValue::GetList( array("SORT" => "ASC"), array("ORDER_ID" => $intOrderID, "CODE"=>array("LOCATION", "ADDRESS")) ); while ($arOrderProps = $dbOrderProps->GetNext()): echo "<pre>"; print_r($arOrderProps); echo "</pre>"; endwhile;
© «Битрикс», 2001-2023, «1С-Битрикс», 2023
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.