0

私は symfony 1.4.8 を使用しています。SfExtraFormPlugin を使用して、フォームに ReCaptcha を追加します。「 public function configure() 」にウィジェットとバリデーターがあります

....     
$this->widgetSchema['captcha'] = new sfWidgetFormReCaptcha(array(
      'public_key' => sfConfig::get('app_recaptcha_public_key')
    ));


$this->validatorSchema['captcha'] = new sfValidatorReCaptcha(array(
      'private_key' => sfConfig::get('app_recaptcha_private_key')
    ));
...

バックエンド app と、そのための「public function configure()」もあります。

 public function configure()
  {
    parent::configure();
....
}

したがって、バックエンドから投稿を追加しようとすると、エラーが発生します。エラーが発生したため、アイテムが保存されていません。 ReCaptcha のウィジェットとバリデーターをバックエンドのみに削除する方法はありますか? 今、私は唯一の方法を見ています、それは削除することです

親::configure();

フロントエンドのウィジェットとバリデーターとは別に、すべてのウィジェットとバリデーターをバックエンドに書き込みます.. :( ps 下手な英語で申し訳ありません pps 事前に回答ありがとうございます ;-)

4

2 に答える 2

0

私は2番目の方法を見つけます:

if ( sfConfig::get('sf_app') == "frontend" )
{
   widget and validator
}
elseif ( sfConfig::get('sf_app') == "backend" )
{
   widget and validator
}
于 2011-03-02T16:43:19.093 に答える