0

ウィジェットを使用してフォームを作成しています。それらの1つは、 sfWidgetFormPropelChoiceを使用して作成したMultichoicesフォームです。私のcustomForm.class.phpに私はこれを持っています:

customForm.class.php:

class customForm extends BaseCustomForm{
  public function configure(){
   ....
   $this->setWidgets(array(
    ...
    'myMultiChoice'=>new sfWidgetFormPropelChoice(array('model'=>'custom', 'method'=>'getLotsOfThings'));
    ...
  ));
 }
}

オプションは、パラメータを持たない'method'メソッドを取得することです。'getLotsOfThings'代わりに、パラメーターを使用してこのメ​​ソッドを渡すにはどうすればよいですか?

私は試し'method'=>'getLotsOfThings('.$value.')'ますが、これはうまくいきません!

4

1 に答える 1

1

criteria代わりにオプションを使用する必要があります (コードを参照)。これにより、アイテムを取得するための複雑なクエリを使用できるようになります。

例えば:

$c= new Criteria();
$c->add(CountryPeer::idcontinent, 1);

$this->widgetSchema['departement_id'] = new sfWidgetFormPropelChoice(array(
  'model'     => 'Country', 
  'add_empty' => true, 
  'criteria'  => $c
));

フォームを作成するときに、条件をオプションとしてフォームに指定します。

于 2012-08-27T12:02:22.367 に答える