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