Php Silverstripe自定义控制器和视图(模板)如何工作?

Php Silverstripe自定义控制器和视图(模板)如何工作?,php,url-routing,silverstripe,Php,Url Routing,Silverstripe,我用以下代码创建了控制器/mysite/code/FileManager.php class FileManager_Controller extends Controller { public function upload() { echo 'It works!!'; } } 当我键入http://example.com/filemanager/upload 我创建了模板文件themes/simple/templates/FileManager.ss

我用以下代码创建了控制器
/mysite/code/FileManager.php

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
。如何做到这一点?谢谢。

'upload'是SilverStripe中的一个操作-您是否尝试创建FileManager\u upload.ss文件?

因为您使用的是直接控制器来处理请求,系统不知道您要渲染什么或如何渲染。当使用CMS并呈现
页面时
通常会为您处理

因此,您必须告诉它要渲染什么以及如何渲染。在最简单的形式中,这看起来像:

class FileManager_Controller extends Controller
{
    public function upload()
    {
        return $this->renderWith('FileManager');
    }
}
这将使用
FileManager.ss
模板呈现
FileManager\u控制器