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

Просмотров: 3914

Задача: вывести пользователю информацию по всем, его, профилям покупателя в компоненте 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С-Битрикс:

Индивидуальная разработка магазина

от 500 000 руб. от 6-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Запуск сайта на готовом решении

от 150 000 руб. от 7-ми дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Мобильное приложение

от 500 000 руб. от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Сайт компании

от 350 000 руб. от 1-го месяца

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

Инфресурс

от 400 000 руб. от 5-ти недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Лечение сайтов от вирусов

от 40 000 руб. от 2-х дней

Выполню полную проверку сайта и окружения. В случае обнаружения вирусов проведу полный комплекс лечения проекта и закрытия лазеек.