Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Свойства заказа в письмо покупателю

00 голосов
3
Хочу вывести номер телефона пользователя в письмо.
компонент sale.order.full
Вот что я пишу:
Код
$db_orderprop = CSaleOrderPropsValue::GetList(
            array("SORT" => "ASC"),
            array("ORDER_ID" => $arResult["ORDER_ID"])
        );
      $i = 0;
      while ($arVals = $db_orderprop->Fetch()){
        $customerProps[$i]["NAME"]= $arVals["NAME"];
        $customerProps[$i]["VALUE"]= $arVals["VALUE"];
        $i++;
      }
        // если заказ от физ. лица
        if (intval($arResult["PERSON_TYPE"]) == 1){
           $tel = $customerProps[17]["VALUE"];
           $adress = $customerProps[5]["VALUE"];
           }
        // если заказ от юр. лица
        if (intval($arResult["PERSON_TYPE"]) == 2){
           $tel = $customerProps[11]["VALUE"];
           $adress = $customerProps[8]["VALUE"];
        }


Но код не работает. Не подскажите, что не так?
спросил 10 Дек, 13 от Kiriel (2,010 баллов)

3 Ответы

00 голосов
Вероятно, дело в индексах массива $customerProps. Не пойму, откуда у вас берутся эти 17, 5 и пр. Лучше тогда уж ID или символьный код свойств использовать в качестве этих индексов, например так:
Код
$customerProps[$arVals["ID"]]["NAME"]= $arVals["NAME"];
$customerProps[$arVals["ID"]]["VALUE"]= $arVals["VALUE"];
или
$customerProps[$arVals["CODE"]]["NAME"]= $arVals["NAME"];
$customerProps[$arVals["CODE"]]["VALUE"]= $arVals["VALUE"];
ответил 13 Фев, 14 от BRENN (1,080 баллов)
00 голосов
Сергей Эстрин,
17, 5 и пр. это свойства заказа (телефон, адрес и тд) для юр и физ лиц.

Так же попробовал таким образом:
Код
$arUsValue = CSaleOrderUserPropsValue::GetList(($b="SORT"), ($o="ASC"), Array("USER_PROPS_ID"=>$arResult["PROFILE_ID"]));
while ($arUsValues = $arUsValue->Fetch())
{
  $AllUsValue .= "<b>".strlen($arUsValues["USER_VALUE_NAME"])."</b>: ".$arUsValues["VALUE"]."<br>";
}


strlen($arUsValues["USER_VALUE_NAME"]) - просто strlen для проверки, сколько отдаст. - ответ 0. Вообще не передается название свойства.
ответил 03 Июнь, 14 от Kiriel (2,010 баллов)
00 голосов
Цитата
17, 5 и пр. это свойства заказа (телефон, адрес и тд) для юр и физ лиц.

Если 17 и 5 это ID свойства заказа, то почему вы значение счетчика используете как индекс, когда собираете массив $customerProps?

Цитата
Артур Глазов пишет:
Так же попробовал таким образом:

Вы как-то интересно переключились на профили покупателя.
ответил 01 Окт, 14 от BRENN (1,080 баллов)

Похожие вопросы

0 голосов
10 ответов
спросил 22 Янв, 13 от Tahalkora (120 баллов)
0 голосов
7 ответов
спросил 02 Сен, 13 от CFYXFC (120 баллов)
0 голосов
9 ответов