Вспомогательный макрос, определяющий id элемента каталога от которого образован id ссылки (shortcut) и выводящий его. Присутствует только в версиях 4.42 и выше.
Применяется в основном для разовых получений идентификаторов. Если хочется вызывать его на странице часто, то во избежание потери производительности рекомендуется пользоваться $Attribute:soul$ в макросах CatalogList, CatalogTree и CatalogFullTree.
Чаще всего этот макрос нужен, когда мы выводим элементы связанного с элементом каталога списка. Поскольку система не умеет автоматически "приклеивать" к элементам каталога свойства, расположенные в подчиненных таблицах, обычно вывод организуется напрямую из таблиц где хрянятся свойства через $News[]$ с фильтрацией по полю parentid.
Предположим, мы находимся в странице, где выводится элемент каталога. Например, на странице с описанием товара. Тогда вывод дополнительных свойств из связанной таблицы ci_links будет сделан так:
$News[source: ci_links; design: ...; filter: parentid=90754534D0C34CA985F4AD26038EDDE7]$
Естественно, если мы будем находиться на странице с товаром все будет работать прекрасно. Если же мы будем находиться на странице, которая создана как ярлык в каталоге (ссылка на товар), то iid у нас будет совсем другим. А поскольку свойства в ci_links все привязаны к id товара, то в таблице cl_links ничего найдено и выведено не будет.
Пишем так:
$News[source: ci_links; design: ...; filter: parentid=90754534D0C34CA985F4AD26038EDDE7]$
$News[source: ci_links; design: ...; filter: parentid=$ShortcutSoul[id: 90754534D0C34CA985F4AD26038EDDE7]$]$
Первая строка та же что и выше. Она выводит свойства на странице с товаром. Вторая строка сработает на странице со ссылкой на товар, iid с помощью этого макроса преобразуется из идентификатора ссылки в идентификатор товара. Тогда уже мы без проблем вытаскиваем все дополнительные свойства из ci_links и выводим их на страницу в нужном нам дизайне.