2010-04-06 44 views

回答

3

通常結構良好的項目將有一個模板和template_c文件夾 - 儘管可以配置/更改名稱。另外在這些文件夾中查找.tpl文件。

我能看到的最好的辦法是到grep像獲取/分配如{foreach}的/顯示器或普通Smarty的標籤,{將},{if}個等

1

我想你可以通過檢查的基本看法弄清楚class.E.g

class View 
{ 
    protected $tpl; 
    protected $tplfilename; 

    public function __construct() 
    { 
     $this->tpl = new Smarty(); 

     $this->tpl->template_dir = dirname(__FILE__)."/templates"; 
     $this->tpl->compile_dir = dirname(__FILE__)."/templates_c"; 
     $this->tpl->config_dir = dirname(__FILE__)."/configs"; 
     $this->tpl->cache_dir = dirname(__FILE__)."/cache"; 
     $this->tpl->left_delimiter = "{|"; 
     $this->tpl->right_delimiter = "|}"; 

     $this->tplfilename = "default.tpl"; 
    } 

    public function show() 
    { 
     $this->tpl->display($this->tplfilename); 
    } 
} 

這也許應該是一個典型的智者風範。

+0

並非所有項目都是基於OOP的或使用MVC方法。雖然我認爲如果他們這樣做的話會更好,但是) – pinaki 2010-04-06 05:09:36

+0

@pinaki如果知道這個cuz,那麼smarty中的大多數目錄都是可配置的。 – Young 2010-04-06 05:20:03

+0

由於需要compile_dir,因此可以查找以下兩種情況之一:默認的「templates_c」文件夾或包含「 - > compile_dir」的行。 – djn 2010-04-07 02:05:48

2

您可能需要共同Smarty的功能徘徊找到模板和templates_c - 在我的一個項目中,他們甚至不在htdocs中 - smarty文件夾與htdocs處於同一級別。我們根據該項目命名我們的Smarty類,所以即使尋找「新的Smarty()」也不行。

我認爲第一個建議尋找常見智能功能的答案可能是您最好的選擇。