自从我开始开发自己的修改器函数以使我的 Smarty 环境以应有的方式工作以来,我一直在苦苦挣扎。具体来说,我似乎必须在能够使用“内置”功能或我自己的功能之间做出选择,但不能同时使用两者。我确定我缺少一些东西,希望有人能指出我需要做的事情。
我目前所做的是:
- 当使用内置函数时——诸如大写、@debug_print_var 等修饰符——它似乎可以正常工作,而无需专门指向这些内置脚本所在的目录
- 当我开发自己的脚本时——我现在有两个——我必须明确说明它们在哪里才能让它们被识别,所以我添加了下面的代码:
代码:
public static function init () {
$object = new Smarty();
$object->setTemplateDir ( LG_FE_DIR . '/templates/uncompiled' );
$object->setCompileDir ( LG_FE_DIR . '/templates/compiled' );
$object->setCacheDir ( LG_FE_DIR . '/templates/cache' );
$object->setConfigDir ( LG_FE_DIR . '/templates/configs' );
// $object->setPluginsDir ( LG_FE_DIR . '/externals/Smarty/libs/plugins');
$object->setPluginsDir ( LG_FE_DIR . '/templates/plugins_dir' );
return $object;
}
正如您从注释掉的行中看到的那样,我还尝试对默认 Smarty 库和我自己的库进行两次“setPluginsDir()”调用,但它显然只允许注册一个目录。
任何和所有的帮助将不胜感激。