Разбирайтесь в том же месте чуть ниже, где прописываются разные варианты для canonical. Может оказаться не совсем просто...
Что-то вида
{if $selected_filters}
{$canonical="{url}" scope=global}
{elseif $category}
{$canonical="{if $cannonical}{$cannonical}{else}{url_generator route='category' url=$category->url absolute=1}{/if}" scope=global}
И еще, скорее всего, условия понадобятся для полноты картины...
А вообще в этом месте очень странный параметр присутствует {if $cannonical}. Похоже, что он просто всегда НЕ определен и это ошибка (опечатка) разработчиков. Появился, насколько я проследил, с версии 3.4.0. Прошел почти год и никто пока не заметил. Выходит, для этих версий либо не используется реально OkayCMS, либо SEO-функционал в этой части никого не интересует. А момент-то вроде важный. Или не важный?..