Подумал, что нужно привести пример использования static_call для вашего случая в шаблоне. Я думаю пригодится.
Допустим у Вас есть модуль с именем custom и есть класс Api для выполнения функций Ваших. Соответственно в папке /modules/custom/model/api.inc.php
В этом классе предположим будет функция myDirUrl, которая возвращает нужные Вам данные. Мы их присвоим в шаблоне переменной $moyaperemennaya
В саму функцию myDirUrl мы передадим переменную содержащуй объект категории ($dir например)
Тогда вызов метода будет выглядеть так:
{* Вызов static_call *}
{static_call var=moyaperemennaya callback['\Custom\Model\Api','myDirUrl'] params=[$dir]}
{* Вывод значения присвоенного функцией *}
{$moyaperemennaya}Ну а в самом классе Api:
<?php
namespace Custom\Model;
class Api{
/**
* Наша функция
*
* @param \Catalog\Model\Orm\Dir $dir - объект категории из шаблона
*/
public static function myDirUrl($dir){
//Наши действия
//
//
return $moeznachenie; //Вернём результат обратно в шаблон
}
}