Создайте новое свойство инфоблока с типом "строка" и установите его как множественное:
В расширенных настройках свойства установите галочку "Выводить поле для описания значения":
В любом элементе заполните это свойство необходимыми данными. Значение свойства будет текстом ссылки, а описание — URL-адресом.
Создание массива ссылками с помощью array_map
Функция array_map() возвращает массив, содержащий результаты обработки значений массива с помощью callback-функции. Если в функцию передано несколько массивов, они передаются как аргументы в callback-функцию.
В файл result_modifier.php нужного шаблона (например, детальной карточки товара каталога) добавьте следующий код:
$arResult['RANDOM_LINKS'] = array_map(function ($value, $description) {
return [
'VALUE' => $value,
'DESCRIPTION' => $description
];
},
$arResult['PROPERTIES']['ATT_RANDOM_LINKS']['~VALUE'],
$arResult['PROPERTIES']['ATT_RANDOM_LINKS']['~DESCRIPTION']
);
С помощью array_map() создается новый массив, в котором каждый элемент — это ассоциативный массив с ключами VALUE и DESCRIPTION, созданный на основе соответствующих элементов из массивов VALUE и DESCRIPTION.
Осталось вывести этот массив в template.php:
foreach ($arResult['RANDOM_LINKS'] as $randomLink) {?>
<a href="<?echo $randomLink['DESCRIPTION']?>">
<?echo $randomLink['VALUE']?>
</a>
<?}
Далее, с помощью CSS можно стилизовать эти ссылки по вашему усмотрению.