Функция, которая сформирует часть url для фильтра:
| Код | 
|---|
CBitrixCatalogSmartFilter::encodeSmartParts($smartParts);  | 
В моём случае этот кусок url в самом фильтре кодируется почему-то несколько раз, так что будьте внимательны.
Перед использованием этой функции нужно подключить класс умного фильтра:
| Код | 
|---|
CBitrixComponent::includeComponentClass("bitrix:catalog.smart.filter"); | 
Саму функцию можно посмотреть в файле:
/bitrix/components/bitrix/catalog.smart.filter/class.php
Там также можно посмотреть, как формируется массив $smartParts для разных типов свойств.
Мой код вывода двух свойств (производитель и материал) со ссылками на страницы фильтра:
| Код | 
|---|
if(($arOneProp['CODE'] == 'MATERIAL') OR ($arOneProp['CODE'] == 'MANUFACTURER')){
   $smartParts[0][0] = toLower($arOneProp['CODE']);
   $smartParts[0][1] = urlencode(toLower($arOneProp['DISPLAY_VALUE']));
   $buffer_link = CBitrixCatalogSmartFilter::encodeSmartParts($smartParts);
   $buffer_link = str_replace("#SMART_FILTER_PATH#", $buffer_link[0], $arParams['SEF_URL_TEMPLATES']['smart_filter']);
   $filter_link = str_replace("#SECTION_CODE_PATH#", mb_substr($arResult['SECTION']['SECTION_PAGE_URL'],0,-1), $buffer_link);
   echo "<a href='".$filter_link."'>".$arOneProp['DISPLAY_VALUE']."</a>";
}
 |