, поскольку вы используете статический метод, вы не сможете использовать $ this ключевое слово в своей функции. Таким образом, поэтому вы не сможете использовать
$this->context->smarty->assign('categories', self::getCategories($args));
Таким образом, вы должны создать переменную и присвоить ей контекст, и в вашем случае вам понадобится только ее умная часть.
$smarty = Context::getContext()->smarty;
Теперь вы можете использовать это следующим образом:
$smarty->assign('categories', self::getCategories($args));
Я предполагаю, что вы вызовете функцию в том же классе, поэтому я использовал self :: getCategories ($ args) , если вы хотите использовать его в другом классе, используйте className :: getCategories ($ арг)
Надеюсь, это поможет вам, попробуйте и дайте мне обратную связь! ;)