2013-02-16 38 views
0

我試過製作一個可以在.tpl文件中運行的函數。Smarty - 如何製作功能?

我列入一類Templates

<?php 

class Templates { 
    function getTemplate($template, $gameid) { 
     echo "test"; 
    } 
} 

?> 

然後我把這個到PHP頁面。

//Create a template object 
$templates = new Templates(); 
$tpl->assign("template", $templates); 

然後我嘗試調用在tpl file功能:

{$template->get('header',1)}

但我只是得到了一個空白頁面,當我嘗試這一點。

任何想法如何實際做到這一點?

+0

不確定這是否只是上傳問題時引入的錯字,但是您的PHP函數被稱爲'getTemplate',而您的Smarty代碼調用一個不存在的函數'get'。 – IMSoP 2013-02-16 20:42:40

回答

0

你應該看看documentation on Smarty Plugins。這些功能允許您註冊自己的功能,這些功能可以像內置標籤和修飾符一樣使用,甚至可以使用定製的模板數據源以便與{include}功能一起使用。

你的例子太簡單了,以至於猜不出你實際想要達到的目標,所以如果你看不到實現特定目標的方法,請隨時發佈後續問題。