2015-02-17 2 views

ответ

6

В вашем контроллере, для которого используется шаблон Silverstripe, вы можете получить «GET» (или строку запроса), вернув результат $this->getRequest()->getVar('a') в функцию на вашем контроллере.

Полезно использовать $this->getRequest()->getVar('a') над $_GET['a'], так как SilverStripe автоматически дезинфицирует строку.

Когда ваш код не в контроллере (так что вы не можете использовать $this->getRequest()), вы можете request the current controller by using Controller::curr(), который сделает полный вызов для получения одного вар:

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> 
Смежные вопросы