php - 如何将 URL 变量传递给 Silverstripe 中的表单

标签 php silverstripe

我正在开发一个应该能够处理以下 URL 的自定义电子邮件表单:

http://www.example.com/email

默认为通用电子邮件地址。

http://www.example.com/email/Office/1

从 Office 模型获取电子邮件联系方式,ID 1

http://www.example.com/email/Staff/96

从 Staff 模型获取电子邮件联系方式,ID 96

我以为我可以通过访问普通的 $Action/$ID 变量来做到这一点 - 但被路由文档完全搞糊涂了:https://docs.silverstripe.org/en/3.3/developer_guides/controllers/routing/

class EmailPage_Controller extends Page_Controller
{

  private static $allowed_actions = array(
    'Form',
    'Staff',
    'Office'
    );

  public function Form() { 

    $Action = $this->request->getVar('Action');
    $ID = $this->request->getVar('ID');  

不起作用。

在 Silverstripe 中访问/传递 URL 变量到表单的最佳方式是什么?

最佳答案

$ID = $this->request->param('ID');

这将从您在路由或 $url_handlers 中定义的 Url 参数中获取 id。使用相同的方法获取 action 参数。

关于php - 如何将 URL 变量传递给 Silverstripe 中的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37780056/

相关文章:

php - Silverstripe tinyMCE 添加自定义插件

php - 在 Silverstripe 4 中扩展 UserDefinedForm 类的问题

php - 使用 autosuggest 在用户输入他们的输入后使用 jquery 填写输入文本字段

javascript - 使用 .htaccess 的登录页面

php sql 查询和 php 变量的总和

silverstripe - 在不安装 Sphinx 的情况下搜索 silverstripe 网站

php - SilverStripe:如何在另一个选项卡之前插入一个选项卡?

php - 使用 Illuminate Database 时在非对象上调用成员函数 connection() 时出错

PHP/正则表达式检查字符串是否包含一定长度的单词

php - SilverStripe限制3级子页面