2012-10-28 107 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