2012-11-14 95 views
1

我創建了控制器./mysite/code/FileManager.php用下面的代碼...Silverstripe自定義控制器和視圖(模板)如何工作?

class FileManager_Controller extends Controller 
{ 
    public function upload() 
    { 
     echo 'It works!!'; 
    } 
} 

當我輸入http://example.com/filemanager/upload這工作得很好。我創建了模板文件themes/simple/templates/FileManager.ss。我想在這裏寫HTML上傳,它應該反映我何時輸入http://example.com/filemanager/upload。這個怎麼做?謝謝。

回答

1

因爲您使用的是直線控制器來處理請求,系統不知道您要呈現什麼或如何呈現。使用CMS並渲染Page時,通常會照顧您。

所以你必須告訴它要渲染什麼以及如何渲染。在它最簡單的形式,這將是這個樣子:

class FileManager_Controller extends Controller 
{ 
    public function upload() 
    { 
     return $this->renderWith('FileManager'); 
    } 
} 

這會使您FileManager_Controller類的FileManager.ss模板。

1

'上傳'是SilverStripe中的操作 - 您是否嘗試過創建FileManager_upload.ss文件?

相關問題