Symfony1 从参数设置SFWidgetFormDoctorInEchoice的值

Symfony1 从参数设置SFWidgetFormDoctorInEchoice的值,symfony1,doctrine,Symfony1,Doctrine,有没有办法通过actions.php中的参数设置sfwidgetformdoctrinechoice的值 我知道我可以将其改为sfWidgetInput,但我希望用户能够在没有给出参数的情况下选择记录 谢谢是的! 在表单的configure()方法中,使用setDefaults()方法: public function configure() { $this->setDefaults(array( 'your_widget' => 'your_parameter

有没有办法通过actions.php中的参数设置sfwidgetformdoctrinechoice的值

我知道我可以将其改为sfWidgetInput,但我希望用户能够在没有给出参数的情况下选择记录

谢谢

是的! 在表单的
configure()
方法中,使用
setDefaults()
方法:

public function configure()
{  
    $this->setDefaults(array( 
    'your_widget' => 'your_parameter'
    ));
}
或者,更简单地说,在您的操作代码中

$form = new YourForm(array('your_parameter'=> 'your_parameter_value'))
当您看到以下内容时,很容易理解:

  /**  
   * 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);
    ...

但是,您如何将参数从地址获取到configure方法中呢?感谢您的帮助,但我仍然收到一个错误:“sessionForm”表单只接受一个“session”对象。我的操作文件包含:[code]公共函数executeNew(sfWebRequest$request){$this->form=new sessionForm(array)('slideshow_id'=>$request->getParameter('slideshow'));}@dazpinto:关于条令表单,默认参数不是数组,而是对象。创建默认对象,用参数初始化它,并将其传递给构造函数,您应该这样做。