2016-06-29 35 views
2

我有以下代碼:如何投放SilverStripe變量控制器擴展

class Page_Controller extends ContentController 
{ 
    public function TimeNow() { 
     return date('Y-m-d H:i:s'); 
    } 
} 

但下面的模板代碼不起作用:

$TimeNow.Format(Ymd\THis) 

我猜這是因爲TimeNow ISN不會投射爲SS_Datetime對象(它繼承了Format方法)。

如何投TimeNowSS_Datetime

回答

5

而是執行此操作:

public function TimeNow() { 
    return SS_DateTime::now(); 
} 
+0

可以在被用來施放任何類型的變量?即'return SS_DateTime::(strtotime($ this-> DateTime)+3600);' – BaronGrivet

+0

編號'strtotime'是內置的PHP函數,而不是SS_DateTime類中的靜態方法。 'now'返回'SS_DateTime對象','format()'從父類繼承。請參閱https://github.com/silverstripe/silverstripe-framework/blob/3.4.0/model/fieldtypes/Datetime.php#L175 –