Я хочу напечатать значение 5 на странице ss.
www.xyz.com?a=5.
Как получить данные URL-адреса в silverstripe? Любая помощь принимается.
Я хочу напечатать значение 5 на странице ss.
www.xyz.com?a=5.
Как получить данные URL-адреса в silverstripe? Любая помощь принимается.
В вашем контроллере, для которого предназначен ваш шаблон Silverstripe, вы можете получить «GET» (также известный как строка запроса), возвращая результат $this->getRequest()->getVar('a')
в функции вашего контроллера.
Рекомендуется использовать $this->getRequest()->getVar('a')
вместо $_GET['a']
, так как SilverStripe автоматически очищает строку.
Когда ваш код не находится в контроллере (поэтому вы не можете использовать $this->getRequest()
), вы можете запросите текущий контроллер, используя Controller::curr()
, который сделает полный вызов для получения одной переменной:
Controller::curr()->getRequest()->getVar('a')
Если вы хотите получить все переменные "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');
}
}
Шаблон
<p> $MySpecialProperty </p>