2016-07-04 7 views
1

Я хочу добавить, что пользователи могут вручную редактировать текст, который они хотят видеть по электронной почте. Я добавил поле, где вы можете добавить текст, и я хочу, чтобы вы могли добавлять переменные в этот текст, поэтому, когда он загружается из базы данных и помещает его в представление электронной почты, он показывает значение переменной не {{$ variable }} в электронной почте.Laravel Pass HTML Variable to EMail view

Теперь я это сделал

     $date = new DateTime(); 
        $date->modify('+' . $vakance2->uzdevuma_laiks . ' days'); 
        // Izveido praktikanta vardu un uzvardu 
        $name = $praktikants2->vards . " " . $praktikants2->uzvards; 
        $vakances_epasts = $vakance2->vakance_approve_email; 
        // Masivs kas tiek nosutits 'emails.kval' vai 'emails.nokval' lapai 
        $data = array('vakances_epasts' => $vakances_epasts, 'name' => $name, 'vakance' => $vakance2->vakances_nosaukums, 'secret_key' => $praktikants2->secret_key, 'date' => $date, 'uzdevums' => $vakance2->uzdevuma_teksts); 
        // Vakances uzdevuma atrasanas vieta   
        $pathToFile = public_path() . "/uploads/uzdevums/" . $vakance2->uzdevuma_fails; 
        // Epasta nosaukums 
        $title = "Pieteikums vakancei - " . $vakance2->vakances_nosaukums; 
        // Praktikanta epasts 
        $epasts = $praktikants2->epasts; 
        //Pārbauda vai praktikants ir piesaistīts esošajai vakancei 
        if($praktikants2->vakances_id == $vakance->id) { 
         // Parbauda vai praktikanta koeficients ir lielaks par vakances noteikto, lai kvalificētos tālāk. Ja ir tiek izmainīts ierakts tabulā 'praktikanti' ieraksts 'otra_karta' uz 1, ka praktikants ir kvalificējies. Ja nē tas paliek 0 
         if($praktikants2->koeficients > $vakance->koeficients_kval) { 
          $praktikants2->otra_karta = "1"; 

          // Tiek nosutits epasts 
          Mail::send('emails.kval', $data, function($message) use ($pathToFile, $title, $name) { 

           $message->attach($pathToFile); 
           // $title = "Pieteikums vakancei"; 
           $message->to('[email protected]', $name)->subject($title); 

           //$message->attach($pathToFile); 


          }); 
         } else { 

          // Tiek nosutits epasts 
          Mail::send('emails.nokval', $data, function($message) use($title, $name) 
          { 
           //$title = "Pieteikums vakancei"; 
           $message->to('[email protected]', $name)->subject($title); 
          }); 
         } 
         $praktikants2->save(); 
        } 

И взгляд

{{ $vakances_epasts }} 

И это код сохраняется в базе данных, которые пользователи могут редактировать

Sveicināts - {{ $name }} Jūs esat kvalificējies otrajai kārtai vakancē {{ $vakance }}. 
<br><br><br> 
    Apmeklējiet <a href="http://localhost:8000/uzdevums/{{ $secret_key }}">šo</a> lapu, lai apstiprinātu uzdevumu. Uzdevuma nodošanas laiks ir {{ $date->format('Y-m-d H:i:s T') }} 
    <br><br> 
    Uzdevums: {{ $uzdevums }} 

Но когда я отправьте электронное письмо, которое оно показывает именно так.

Sveicināts - {{$ name}} Jūs esat kvalificējies otrajai kārtai vakancē {{$ vakance}}. Apmeklējiet šo lapu, lai apstiprinātu uzdevumu. Uzdevuma nodošanas Laiks л {{$ Дата-> Формат ('Y-м-д Н: я: С Т')}}

Uzdevums: {{$ uzdevums}}

+0

Что такое имя файла электронной почты, есть ли «name.blade.php», как «лезвие», является пропуском формы filename –

+0

Это kval.blade.php и nokval.blade.php – MrEnergy

ответ

0

Значение $vakances_epasts не анализируется с помощью лезвия. Вместо этого он обрабатывается как строка, эрго ваше сообщение печатает, как оно появляется в базе данных - без замены переменных.

Я рекомендую разбор строки с использованием пользовательского алгоритма. Вы можете использовать простую замену строки для конкретных имен переменных.

$string = 'Hello {{ $bar }}'; 
$value = 'world'; 
$string = str_replace('{{ $bar }}', $value, $string); 
echo $string; // Hello world 

После того, как вы разобрали $string себя, передать его на ваш взгляд, и он должен работать, как вы ожидаете.

Совет: Вы можете разделить работу на несколько классов, через которые вы можете пропустить строку. Упрощение поддержки чистого синтаксиса и организации логики. Аналогичный подход был использован для создания генераторов в пакете Laravel 5 Generators Jeffrey Way.