Вывести все значения списка для множественного свойства

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
Здравствуйте, Михаил! За последние 2-3 года перегуглил несколько раз интернет, решения найти не смог, поэтому обращаюсь к вам сюда.

В инфоблоке имеется множественное свойство, наванное мной TOPUP, тип - список.
В настройках этого свойства доступны типовые значения списка, среди которых: VALUE_XML_ID, VALUE, VALUE_SORT.

Необходимо вывести эти значения списка массивами, так, чтобы каждый такой массив содержал три этих значения (VALUE_XML_ID, VALUE, VALUE_SORT). То есть результат на странице должен выглядеть примерно так:

Способы оплаты:
  1. 38ec6725c7ee8fafb2f5c7847bf186aa - PayPal (300)
  2. a7a4376f83f3c453486ed84f06b181fc - Qiwi (400)
  3. 25c893a5184ad9add847ed72049e3f2e - WebMoney (500)
  4. e7fa56ac91305648b93f0f0cfe6629f8 - Yoomoney (600)
Зачем так нужно - например, VALUE_XML_ID сможет служить именем файла с картинкой-логотипом для соответствующей платёжной системы, или другие кейсы.
Пока плохо понятна задача. Сможете описать "на пальцах" на каком-то конкретном примере?
Прям: вот есть элемент и у него так-то заполнено это свойство.
Вот так должно вывестись (дизайн вывода, хотя бы схематичный).

Может быть, вашу задачу можно решить более изящно. Тогда нужно изначальное "ТЗ не ТЗ- но описание конечной задачи".
Постарался набросать на другом, слегка "очищенном" от лишних сущностей, примере.

Как настроено свойство инфоблока

  • Код свойства - CPU
  • Тип - список, множественное свойство
  • Внешний вид - флажки
Заданные значения списка для свойства следующие (VALUE - VALUE_SORT соответственно):
  • AMD Athlon - 500
  • AMD Epyc - 1010
  • AMD FX - 1030
  • AMD Opteron - 1050
  • AMD Ryzen - 1080
  • AMD Trinity - 1110
  • Ampere Altra - 1250
  • Apple - 1400
  • Broadcom - 1900
  • Intel Atom - 3100
  • Intel Celeron - 3200
  • Intel Core - 3300
  • Intel Pentium - 3700
  • Intel Xeon - 3900
В админке это выглядит так - см. bitrix_values2_adminpanel.png


Как добавляются элементы

Добавляя/редактируя элемент, редактор отмечает флажками те процессоры, которые должны будут отображаться для него на странице (см. скриншот bitrix_create_element.png)


Желаемый код шаблона компонента (моё субъективное видение, приблизительно):

Код
<h6>Процессоры</h6>

<?/*пример проверки, отметил ли что-то редактор флажками*/if($arResult["PROPERTIES"]["CPU"]["VALUE_SORT"][0]):?>
   <?начало цикла?>
      <div>
         <span class="img"><img src="/path/to/images/<?=$arResult["PROPERTIES"]["CPU"]["VALUE_SORT"];?>.svg"></span>
         <span class="value"><?=$arResult["PROPERTIES"]["CPU"]["VALUE"];?></span>
      </div>
   <?конец цикла?>
<?endif?>

Как нужно, чтобы это выглядело на веб-странице:

см. скриншот bitrix_webpage_as_be.png

На странице видим лого процессора (имя SVG-файла основе VALUE_SORT) и название процессора (собственно VALUE).


Примечания

  • Список процессоров не является конечным. Иногда они могут добавляться/переименовываться/удаляться.
  • Вместо VALUE_SORT можно использовать VALUE_ENUM, VALUE_ENUM_ID или VALUE_XML_ID - мне не принципиально.
Готов предоставить другие дополнительные вводные, если нужно.
Если я все правильно понял:
Не проще использовать множественный справочник? Оно же "привязка к HL блоку" через свойство?
Как-то так
https://bazarow.ru/blog-note/16683/
Там задача другая, но суть (вроде) таже
Спасибо за предложенное решение - таким образом не пробовал, на досуге попробую изучить. Неожиданно нашёл более простой для меня способ сделать так, как предполагал изначально:
Код
<?/*предположим, процессоров макс. 99, но можно поставить больше*/for($i = 0;$i<=99;$i++):?>
   <?/*пример проверки, отметил ли что-то редактор флажками*/if($arResult["PROPERTIES"]["DEDIC_OS"]["VALUE_SORT"][$i]):?>
      <div>
         <span class="img"><img src="/path/to/images/<?=$arResult["PROPERTIES"]["CPU"]["VALUE_SORT"][$i];?>.svg"></span>
         <span class="value"><?=$arResult["PROPERTIES"]["CPU"]["VALUE"][$i];?></span>
      </div>
   <?endif?>
<?endfor?>
Всё работает и выводится на странице точно так, как хотел видеть. Единственный открытый для меня вопрос: может ли грозить этот код всплеском запросов к БД?
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 

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

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

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

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

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

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

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

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

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

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

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

от 300 000 руб. от 2-х недель

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

Инфоресурс

от 300 000 руб. от 4-х недель

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

3D‑моделирование, визуализация

от 25 000 руб. от 3-х дней

По вашим фото, чертежам или описанию создадим 3D‑модели и отрендерим набор изображений для каталога товаров: общий вид, крупные планы и технические ракурсы или 360°‑обзор товара.