猿问

在邮件刀片视图中的另一个变量中使用变量

我在 Laravel 中使用 Mail 库来发送带有传递给刀片视图的自定义数据的 html 电子邮件。


当邮件必须呈现从数据库中的一行获取的 html 时产生的问题,其中包括我通过视图传递的变量。


这是我的可邮寄类中的构建函数


public function build()

{

   return $this->from('hello@test.it')

     ->view('view')

     ->with([

       'url'     => 'https://google.com',

       'text' => $this->parameters->text,

      ]);

}

然后在刀片视图中:


<div>

  {!! $text !!}

</div>

这是 $text 变量的样子:


<p>

  <span>This is my text for the mail</span>

  <a href="{{ $url }}">Click here to compile</a>

</p>

链接 href 应包含 url 变量值,而不是不传递变量名本身


慕田峪9158850
浏览 138回答 2
2回答

慕斯王

一个简单的解决方案是使用 php 进行格式化:public function build(){&nbsp; &nbsp; return $this->from('hello@test.it')&nbsp; &nbsp; &nbsp;->view('view')&nbsp; &nbsp; &nbsp;->with([&nbsp; &nbsp; &nbsp; &nbsp;'text' => str_replace('{{ $url }}','https://google.com',$this->parameters->text)&nbsp; &nbsp; &nbsp; ]);&nbsp;}

LEATH

我没有自己尝试,但您可以尝试使用Blade::compileString(),即:public function build(){&nbsp; &nbsp; return $this->from('hello@test.it')&nbsp; &nbsp; &nbsp; ->view('view')&nbsp; &nbsp; &nbsp; ->with([&nbsp; &nbsp; &nbsp; &nbsp; 'url'&nbsp; &nbsp; &nbsp;=> 'https://google.com',&nbsp; &nbsp; &nbsp; &nbsp; 'text' => \Blade::compileString($this->parameters->text),&nbsp; &nbsp; ]);}
随时随地看视频慕课网APP
我要回答