2012-11-14 93 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文件?

相关问题