首先,任何带有.ss扩展名的文件都是模板文件而不是控制器。
创建一个新类,mysite/code/Download.php其中 extends Controller。
class Download extends Controller {
public function index() {
// Automatically handles URLs like http://example.com/Download
}
public function exampleaction() {
// Automatically handles URLs like http://example.com/Download/exampleaction
}
}
之后,您需要向目录中添加一个新routes.yml文件,mysite/_config以指定index新控制器上的函数应处理对http://example.com/download/123.
---
Name: downloadrules
---
Director:
rules:
'download/$ID': Download
现在,您的示例 URL 的“123”部分将可以$this->request->param('ID')在index函数中访问。
现在你可以这样做:
class Download extends Controller {
public function index() {
$fileID = $this->request->param('ID');
// Do your thing.
}
}
这些东西的文档位于http://doc.silverstripe.org/framework/en/reference/director