デフォルトのパスワードを忘れたフォームはEmail
フォームフィールドです。私は、各ユーザーにライセンス番号を添付しています。ユーザーとして、電子メールではなく自分のライセンス番号を入力して、リセットパスワードのリンクを取得したいと考えています。SilverStripeの失われたパスワードフォームをオーバーライド
私は機能面をオーバーライドする方法を見つけましたが、フォームはオーバーライドしませんでした。私は今
ファイル名まで行ってきた:_config.php
Object::useCustomClass('MemberLoginForm', 'ExtendLoginForm');
ファイル名:ExtendLoginForm.php
単なるテストとして - forgotPassword
メソッドをオーバーライド
class ExtendLoginForm extends MemberLoginForm
{
public function forgotPassword($data) {
// Ensure password is given
$this->sessionMessage('This works', 'bad');
$this->controller->redirect('Security/lostpassword');
return;
}
}
セッションの混乱年齢は同じページにリダイレクトされて正常に印刷されます。
フィールドをEmail
フィールドの代わりにText
にするには、フォームをオーバーライドするにはどうすればよいですか。
それはTextFieldを規定するのに役立つ可能性があり::( 'LicenceNumber')を作成する代わりに、テキストフィールドの作成::( 'メール')、分化のためだけに。 – jakxnz
別のメソッドをオーバーロードしない限り、フィールド 'Email'の命名は必須です。あなたはラベルを変更することができます。 TextField :: create( 'Email'、 'ライセンス番号'); – UncleCheese