如何从silverstripe中的url获取值

时间:2015-02-17 11:13:13

标签: silverstripe

我想在ss页面上打印值5.

  

www.xyz.com?a=5。

如何在silverstripe中获取网址数据?任何帮助都会被加入。

1 个答案:

答案 0 :(得分:8)

在你的Silverstripe模板所用的控制器中,你可以检索" GET" (又称。查询字符串),在控制器的函数中返回$this->getRequest()->getVar('a')的结果。

优良作法是使用$this->getRequest()->getVar('a')而不是$_GET['a'],因为SilverStripe会自动清理字符串。

当您的代码不在控制器中时(因此您无法使用$this->getRequest()),您可以request the current controller by using Controller::curr()完成调用以获取单个var:

Controller::curr()->getRequest()->getVar('a')

如果你想得到所有" GET"变量,just call getVars() instead.

此外,您可以访问" POST"相似的调用postVar('a')postVars()中的变量。如果你想从" POST"或者" GET",您可以拨打requestVar('a')requestVars()

无论如何,这是一个控制器的基本模型,它使用控制器上可以在模板中访问的功能。

<强>控制器

class TestPage_Controller extends Page_Controller
{
    public function init()
    {
        parent::init();
    }

    public function MySpecialProperty()
    {
        return $this->getRequest()->getVar('a');
    }
}

<强>模板

<p> $MySpecialProperty </p>