2016-02-20 26 views
7

Laravel 5.2 KullanımıLaravel'de Şifre Aracını nasıl geçersiz kılar/eklerim?

Birkaç parça işlevin üzerine yazmam gerekiyor/parola sıfırlama işlemine yeni öğeler eklemem gerekiyor. Biliyorum, Illuminate\Foundation\Auth\ResetsPasswords'daki işlevselliğin üzerine, teneke kutusundan çıkan Şifre Denetleyicisi'ni kullanarak yazabilirim.

Ayrıca Illuminate\Contracts\Auth\PasswordBroker'da değişiklik yapmam gerekiyor. Amacım, mevcut şifre sıfırlama işlevini kullanan bir başlangıç ​​şifresi ayarlamak için davetiye e-postası yapmaktır. Tek sorun, sendResetLink işlevindedir.

Bu işlev şifre belirtecini alır ve e-postayı sıfırlama şifresi e-posta görünümünden gönderir. Parola sıfırlama işlevine hala ihtiyacım var, ancak 'parolanızı sıfırla' bildirimi için davetiye e-postası yapılamıyor.

Bunu nasıl yapabilirim? E-posta için bir davet görünümü kullanmak için sıfırlama sınıflarındaki işlevleri çoğaltabilir ve değiştirebilirim, ancak bu işi yapmak için aracı sınıfını nasıl genişleteceğimi anlayamıyorum.

cevap

2

Aynı şeyle uğraşıyordum. Özel PasswordBroker'ım için setEmailView() yöntemini ekledim ve AuthController'da reset bağlantısını göndermeden hemen önce adlandı, ancak normal parola sıfırlama işlevini kırdım.
Tüm bunları dağıttım ve çok daha basit bir yaklaşıma gittim. AuthController.php'de, şifre şablonuna bir değişken enjekte edin.

view()->composer('auth.emails.password', function($view) { 
    $view->with(['register'=>true]); 
}); 
Password::sendResetLink(['email'=>$data['email']], function($message) { 
    $message->subject('Registration Email'); 
}); 

Ardından, şablon auth/e-postalar/password.blade.php

@if (isset($register)) 
    Whatever you want to say in registration Email. 
@else 
    Normal password reset Email here. 
@endif 
+0

yılında Günümü kurtardı. –

İlgili konular