Panowie nie bardzo wiem lub nie bardzo rozumiem , zasadę tworzenia szablonów by móc skorzystać z funkcji Mail , w czystym php'ie wystarczyło dołączyć klasę phpmailer i na tym temat się kończył.
Chciałbym wykonać schemat rejestracji dwu etapowej, tzn. user się rejestruje , Ja wysyłam do niego wiadomość z kodem, w tym czasie rejestracja się przeładowuje np na strona/activate z polem do wpisania kodu oraz przyciskiem "wyślij ponownie kod" , następnie po wklepaniu poprawnego kodu wylogowuje się do panelu administracyjnego.
Mój obecny kod RegisterController.php
<?php
namespace App\Http\Controllers\Auth;
use DateTime;
use Request;
use App\{User,Role};
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
use Webpatser\Uuid\Uuid; //to nam daje losowanie klucza losowego
class RegisterController extends Controller
{
use RegistersUsers;
protected $redirectTo = '/admin';
public function __construct()
{
$this->middleware('guest');
}
protected
function validator
(array $data) {
return Validator::make($data, [
'user' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
}
protected
function create
(array $data) {
'name' => "Learning Laravel",
);
$user = User::create([
'id_user' => rand(100, 999999999), 'user' => $data['user'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'ip' => Request::ip(),
'key' => Uuid::generate()->string,
'date' => new DateTime(),
]);
if(!Role::where('name','firm')->exists())
{
Role::create(['name'=>'firm']);
Role::create(['name'=>'person']);
Role::create(['name'=>'moderator']);
Role::create(['name'=>'admin']);
}
if($data['type'] 
0
) $user->roles()->attach( Role
::where('name','firm')->first()->id ); else
$user->roles()->attach( Role::where('name','person')->first()->id );
return $user;
}
}
z tego co wyczytałem, musiałbym teraz wykonać (nie wiem czy dobrze zrozumiałem) następujący kod:
php artisan make:mail Activate
a w nim wstawić:
public function build()
{
return $this->view('emails.activate');
}
następnie możemy sobie edytować jak chcemy nasz szablon: resources/views/emails/activate.blade.php
następnie jakoś chyba trzeba by było wkleić w Register :
Mail::send('emails.activate', $data, function ($message) {
$message->from('odkogo@.pl', 'Forum');
$message->to('odKogo@pl')->subject('Wiadomość lub chyba jakoś wyciągnięcie z blade ?');
});
no i jeszcze kwestia tych przekierowań i sprawdzanie czy ktoś podał poprawny kod aktywacyjny , ewentualnie zamiast sprawdzania to chyba by zrobić link aktywacyjny w mailu