2012-10-28 79 views
0

自从我开始开发自己的修改器函数以使我的Smarty环境按其应有的方式工作以来,我一直在挣扎。具体而言,我似乎必须选择使用“内置”功能还是使用我自己的功能,但不能同时使用两者。我确信有一些我错过了,希望有人能指出我需要做什么。插件目录冲突

什么我做目前是:

  1. 在使用内置的功能 - 修饰符喜欢利用,@debug_print_var等 - 这似乎无需只是工作专门指向目录这些内置脚本生活
  2. 当我开发自己的脚本 - 我现在有两个 - 我必须明确他们在哪里得到他们的认可,所以我添加了以下代码:

code:

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; 
} 

,你可以从注释掉线看,我也试过有两个“setPluginsDir()”调用这两个默认的Smarty库,以及我自己的,但它显然只允许登记一个目录。

任何和所有的帮助将不胜感激。

回答

1

尝试addPluginsDir。使用此方法,您可以添加一个或多个插件目录,而不是重写现有的目录。 http://www.smarty.net/docs/en/api.add.plugins.dir.tpl你也可以用setPluginsDir设置多个目录... setPluginsDir(array(DIR_1,DIR_2))

+0

我明白了。我曾尝试两次串行调用setPluginsDir(),但没有意识到它会接受一组目录。我现在就试试。提前致谢。 – ken

+0

似乎工作。正是我需要的。谢谢@sofl。 – ken