如何从silverstripe中的url获取值

Abh*_*ngh 1 silverstripe

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

www.xyz.com?a=5.

如何在silverstripe中获取网址数据?任何帮助都会得到加强.

Tur*_*erj 8

在您的Silverstripe模板所用的控制器中,您可以通过$this->getRequest()->getVar('a')在控制器上返回函数的结果来检索"GET"(也就是查询字符串).

它是用很好的做法$this->getRequest()->getVar('a')$_GET['a']为SilverStripe将自动消毒的字符串.

当您的代码不在控制器中时(因此您无法使用$this->getRequest()),您可以通过使用Controller::curr()哪个来请求当前控制器,这将完成调用以获取单个var:

Controller::curr()->getRequest()->getVar('a')
Run Code Online (Sandbox Code Playgroud)

如果你想得到所有"GET"变量,只需要调用getVars()..

此外,您还可以以类似的调用访问"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');
    }
}
Run Code Online (Sandbox Code Playgroud)

模板

<p> $MySpecialProperty </p>
Run Code Online (Sandbox Code Playgroud)