2016-07-04 56 views
1

我想添加一个选项,用户可以手动编辑他们想要在电子邮件中看到的文本。我已经添加了可以添加文本的字段,并且希望可以在该文本中添加变量,因此,当从数据库加载并将其放入电子邮件视图时,它会显示变量的值not {{$ variable }}在电子邮件中。Laravel将HTML变量传递给电子邮件视图

现在我已经做到了这一点

     $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 }} 

但是,当我发送电子邮件就像那样。

发送消息{{$ name}}请输入您的电子邮件地址。{{$ vakance}}。 Apmeklējietšo lapu,laiapstiprinātuuzdevumu。 Uzdevumanodošanaslaiks IR {{$日期 - >格式( 'Y-M-d H:I:式T')}}

Uzdevums:{{$ uzdevums}}

+0

什么是电子邮件的文件名是'name.blade.php'听起来像'刀片'是想念从文件名 –

+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,它传递给你的看法和你期望它应该工作。

提示:您可以将工作分成多个类,您可以通过管道传输字符串。让维护一个干净的语法和组织逻辑更容易。在Jeffrey Way的Laravel 5 Generators包中使用类似的方法来创建发电机。

相关问题