Можно решить эту задачу так. Для этого в конец компонента bitrix:news (скопировав его) следует вставить функцию:
<?
function addLinkForTag($tagname) {
$taglink = str_replace(' ','+',$tagname); // Пробелы должны заменяться плюсами
return '<a href="/search/?tags='.$taglink.'">'.$tagname.'</a>'; // Добавляем ссылку. Внимание, у вас ссылка может быть не "/search/", а какая-либо другая!
}
?>
И для тех же статей (при условии, что все стандартно) в компоненте bitrix:news.list можно написать что-либо подобное:
<?foreach($arItem["FIELDS"] as $code=>$value):?> // Это уже было - стандартный перебор свойств каждой новости
<small>
<?
if (GetMessage("IBLOCK_FIELD_".$code) == 'Теги') { // Желательно написать как-нибудь по другому, но на данный момент идей как правильно - нет :)
if(CModule::IncludeModule("search")) { // Необходимо подключить модуль поиска. Без него работать не будет
$tags_array = tags_prepare($value, "s1"); // Распиливаем теги в массив
echo GetMessage("IBLOCK_FIELD_".$code).': '; // Выводим название "Теги"
$tags_array = array_map("addLinkForTag",$tags_array); // Применяем функцию для создания ссылок для элементов массивов
$result_tags = implode(", ", $tags_array); // Соединяем все обратно в одну строку
echo $result_tags; // Выводим результат
}
} else { // Если у нас не Тег, то просто выводим как обычно "ключ" : "значение" (эта строка была по умолчанию)
echo GetMessage("IBLOCK_FIELD_".$code).': '.$value;
}
?>
</small>
<br />
<?endforeach;?>
Затем создаем страницу в битриксе и вставляем в нее компонент поиска bitrix:search.page. Собственно, ссылка на него и будет ссылкой, на которую надо поменять мой “/search/”.