Elo*_*fin 1 forms parameter-passing symfony-1.4
我有一个表单,我想传递一个必须用来填充小部件的参数.
我在我的网址中传递参数:
url_for('myModule/new?parameter='.$myParam)
Run Code Online (Sandbox Code Playgroud)
我试图在我的操作中获取参数并将其显示在我的模板中,但它不起作用.
行动:
$this->param = $request->getParameter('parameter');
Run Code Online (Sandbox Code Playgroud)
模板:
echo param;
Run Code Online (Sandbox Code Playgroud)
但我不能以我的形式恢复它.
我怎样才能做到这一点 ?
如果需要初始化表单,那么你可以做这样的这个参数(记住,你应该总是验证用户输入)
public function executeNew($request)
{
$formOptions = array('parameter' => $request->getParameter('parameter'));
$this->form = new MyForm(array(), $formOptions);
// Then within your form you access it with:
// $parameter = $this->options['parameter'];
// or even better:
// $parameter = $this->getOption('parameter');
... more code ...
}
Run Code Online (Sandbox Code Playgroud)
如果参数是作为表单的一部分提交的,那么你应该像这样绑定它:
public function executeNew($request)
{
$this->form = new MyForm();
if ( $request->isMethod('post') ) {
$this->form->bind($request->getPostParameters());
}
... more code ...
}
Run Code Online (Sandbox Code Playgroud)
请参阅的Symfony的行动形式更多关于如何创建和使用形式.
编辑:添加$this->getOption('parameter')到代码示例中.
| 归档时间: |
|
| 查看次数: |
3932 次 |
| 最近记录: |