首先,任何带有.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