我想添加一个选项,用户可以手动编辑他们想要在电子邮件中看到的文本。我添加了可以添加文本的字段,我希望您可以在该文本中添加变量,因此当它从数据库加载并将其放入电子邮件视图时,它会显示变量值{{$ variable在电子邮件中。
现在我已经完成了这个
$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('naurislinde@gmail.com', $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('naurislinde@gmail.com', $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ūssatatkvalificējiesotrajaikārtaivakancē{{$ vakance}}。 Apmeklējietšo lapu,laiprtiprinātuuzdevumu。 Uzdevumanodošanaraiksir {{$ date-&gt;格式('Y-m-d H:i:s T')}}
Uzdevums:{{$ uzdevums}}
答案 0 :(得分:0)
$vakances_epasts
的值未通过Blade解析。相反,它被视为一个字符串,因为它会在数据库中显示消息,而不会替换变量。
我建议使用自定义算法解析字符串。您可以使用特定变量名称的简单字符串替换。
$string = 'Hello {{ $bar }}';
$value = 'world';
$string = str_replace('{{ $bar }}', $value, $string);
echo $string; // Hello world
一旦您自己解析了$string
,请将其传递给您的视图,它应该按照您的预期运行。
提示:您可以将工作分成多个类,您可以将字符串通过。使维护干净的语法和组织逻辑变得更容易。在Jeffrey Way的Laravel 5 Generators包中使用了类似的方法来创建生成器。