Разработка на 1С-Битрикс Михаил Базаров
Блог-note

Получить и вывести данные из профиля покупателя в кабинете пользователя 1С-Битрикс

Просмотров: 4718
Задача: вывести пользователю информацию по всем, его, профилям покупателя в компоненте sale.personal.profile.list без перехода в детальное описание/редактирование профиля.
Получить и вывести данные из профиля покупателя в кабинете пользователя 1С-Битрикс

Получить значения полей из профиля покупателя

Для начала нужно получить значения заполненных полей из профиля покупателя. Это можно сделать методом OrderUserProperties::getProfileValues, зная ID профиля.

В компоненте sale.personal.profile.list этот ID хранится в ключе массива $arResult["PROFILES"]['ID']. Что бы получить значения используем код:

use Bitrix\Sale;
foreach ($arResult["PROFILES"] as $val) {
    $profileData = Sale\OrderUserProperties::getProfileValues(
            (int)$val['ID']
    );
    print_r($profileData);
}

В распечатке массива $profileData получим значения заполненных полей, где ключем будет ID свойства заказа.

Получить названия свойств заказ по их ID

Теперь нужно получить названия свойств заказа по их ID. Для этого используем метод CSaleOrderProps::GetList.

Прогоняем массив $profileData с помощью foreach и внутри этого цикла, зная ID свойства заказа (из ключа), получаем название свойства.

В выводе, внутри foreach выводим название и значение свойства. Полный код:

use Bitrix\Sale;
foreach ($arResult["PROFILES"] as $val) {
    $profileData = Sale\OrderUserProperties::getProfileValues(
        (int)$val['ID']
    );
    echo $val['NAME'] . '
'; foreach ($profileData as $k => $property) { $db_props = CSaleOrderProps::GetList( array("SORT" => "ASC"), array( "ID" => $k ), false, false, array() ); if ($props = $db_props->Fetch()) { echo $props["NAME"] . '
'; echo $property; } } }
По феншую, стоит проделать все это в result_modifier.php донаполнив массив $arResult["PROFILES"]. Что бы не усложнять заметку привел как есть.

Таким образом вывели название профиля и полную информацию о нем: название свойства и значение заполненное пользователем.

Услуги

Стоимость разработки на 1С-Битрикс

Стоимость разработки сайта зависит от объёма и сложности проекта. Ниже приведены ориентировочные цены, как правило не выходят за обозначенные рамки. Срок разработки зависит от сложности проекта: как правило называю сроки с запасом.

Финальная стоимость и сроки разработки обговариваются на этапе обсуждения. Скачайте опросник на разработку, заполните как можно подробнее и вышлите удобным способом. После ознакомления смогу задать уточняющие вопросы и оценить проект.

Включено в стоимость разработки

В цену уже заложено всё, что нужно для легального и быстрого запуска. Доплачивать за базовые вещи не придётся.

  • Лицензия и модули

    Лицензия на «1С-Битрикс» нужной редакции, дополнительные модули и видео-инструкции по работе с готовым проектом.

  • Скорость и SEO

    Оптимизация кода и сервера под быструю загрузку, базовая SEO-оптимизация и добавление сайта в поисковые системы.

Блог-note

Заметки по 1С-Битрикс