我想在ss页面上打印值5.
www.xyz.com?a=5。
如何在silverstripe中获取网址数据?任何帮助都会被加入。
答案 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>