2011-03-26 72 views

回答

-1

是的! 在窗体的configure()方法使用setDefaults()方法:

/** 
    * Constructor. 
    * 
    * @param array $defaults An array of field default values 
    * @param array $options  An array of options 
    * @param string $CSRFSecret A CSRF secret 
    */ 
    public function __construct($defaults = array(), $options = array(), $CSRFSecret = null) 
    { 
    $this->setDefaults($defaults); 
    ... 

public function configure() 
{ 
    $this->setDefaults(array( 
    'your_widget' => 'your_parameter' 
    )); 
} 

,或者更简单地说,你的动作代码

$form = new YourForm(array('your_parameter'=> 'your_parameter_value')) 

这是很容易当你看到这明白

+0

但你将如何从地址中获取参数到configure方法中? – dazpinto 2011-03-26 14:10:39

+0

@dazpinto:我更新了我的答案。 – greg0ire 2011-03-26 14:26:36

+0

感谢您的所有帮助,但我仍然收到错误消息:“”sessionForm“表单只接受”会话“对象。” 我的动作文件包含:[代码]的公共函数executeNew(sfWebRequest $请求) {\t \t $这 - >形式=新sessionForm(阵列( 'slideshow_id'=> $请求 - >的getParameter( '幻灯片')) ); } – dazpinto 2011-03-26 21:03:19