是否可以检查是否定义了(变量)修饰符(函数)?

Is it possible to check if a (variable) modifier (function) is defined?

我正在使用带有智能模板引擎的插件。

在这个插件中有这个功能fn_csc_universal_cdn_convert_font_url, 可以在模板中使用 $variable|fn_csc_universal_cdn_convert_font_url

当我禁用 mod 时,函数调用仍在管道后面。 是否可以检查函数是否已定义/已经存在?

我想实现这样的目标:

{if 'fn_csc_universal_cdn_convert_font_url' is defined}
    $variable|fn_csc_universal_cdn_convert_font_url
{else}
    $variable
{/if}

到目前为止,这似乎不可能。

不过我们已经找到了一些解决方法。

通过检查插件是否在注册表中 activated/disabled,如下所示:

if (Registry::get('addons.csc_universal_cdn.status') == "A" )
{ 
    /* ... code to load a dummy replacement function ... */ 
}

此代码在插件中和在我们自己的 my_changes 插件中都进行了更新。 通过这样做,总是有一个函数定义了插件是否被激活。