Mad*_*ota 2 php url-routing silverstripe
我是Silverstripe Framework/CMS的新手.我将其./mysite/code/Page.php视为控制器和./themes/simple/...模板目录.我登录管理面板并添加了新test页面.菜单显示在网站上,http://example.com/test并显示URL 和内容.
所以我想知道的是,如何访问新控制器Download.ss.我想访问URL http://example.com/download/123/而不download在管理面板中添加新页面.谢谢.
首先,任何带.ss扩展名的文件都是模板文件而不是控制器.
创建一个mysite/code/Download.php扩展的新类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
}
}
Run Code Online (Sandbox Code Playgroud)
之后,您需要routes.yml在mysite/_config目录中添加一个新文件,以指定index新控制器上的函数应该处理调用http://example.com/download/123.
---
Name: downloadrules
---
Director:
rules:
'download/$ID': Download
Run Code Online (Sandbox Code Playgroud)
现在,您可以$this->request->param('ID')在index函数中访问示例URL的"123"部分.
现在你可以这样做:
class Download extends Controller {
public function index() {
$fileID = $this->request->param('ID');
// Do your thing.
}
}
Run Code Online (Sandbox Code Playgroud)
有关此内容的文档,请访问http://doc.silverstripe.org/framework/en/reference/director
| 归档时间: |
|
| 查看次数: |
3743 次 |
| 最近记录: |