0

sfDoctrineGuardによって生成されたフォームからいくつかのフィールドを削除しようとしています。ユーザーの名前やメールアドレスは気にせず、ユーザー名とパスワードをユーザーに設定してもらいたいだけです。

代替テキスト

/lib/form/doctrine/sfDoctrineGuardPlugin/sfGuardUserForm.class.phpを編集してみました:

class sfGuardUserForm extends PluginsfGuardUserForm
{
  public function configure()
  {
    unset(
      $this['first_name'],
      $this['last_name'],
      $this['email_adress']
    );


  }
}

しかし、それは何もしませんでした。正しいファイルを編集していますか?

編集これらのフィールドを非表示にする唯一の方法は、/plugins/ディレクトリ内のファイルを編集することです。

plugins / sfDoctrineGuardPlugin / lib / form / doctrine / sfGuardUserAdminForm.class.php

4

2 に答える 2

2

おそらくsfGuardUserFormではなくsfGuardUserAdminFormを使用しています-デバッグバーの[表示]タブを確認すると、表示されるはずです。

このクラスはプラグインに存在するため、プロジェクトのlib / formフォルダーの下にサブクラス化し、既存のconfigureメソッドをサブクラスにコピーする必要があります。

次に、gnerator.ymlを編集して、このフォームを使用するように指示できます。まだ行っていない場合は、プラグインからプロジェクト/アプリケーションのモジュールフォルダーにコピーします。generator / param / config / form/classを変更する必要があります。また、フィールドが存在する場合は、フォーム/表示キーからフィールドを削除する必要があります。そうしないと、フィールドが存在しないと文句を言われます。

于 2010-10-15T15:16:09.003 に答える
-2

これらのフィールドはgenerator.ymlファイルで構成されます。しかし、そこを削除しても期待どおりには機能しません。schema.ymlこれらのフィールドを、フォームクラスおよびモデルクラスから手動で削除する必要があります。

于 2010-10-15T12:16:51.710 に答える