我在Laravel中收到以下降价邮件:
# Welcome to Offer Site
Thanks for listing your product, {{$user->name}}!
@component('mail::button', ['url' => 'https://www.example.com/product/view/{{$product->id}}', 'color'=> 'orange'])
View it here
@endcomponent
Run Code Online (Sandbox Code Playgroud)
但是,发送邮件时的呈现URL为 https://www.example.com/product/view/%3C?php%20echo%20e(%24product-%3Eid);%20?%3E
这可能非常简单,但是很难说...我该如何确保将变量作为参数正确插入URL栏中,这是在ProductAdded邮件的构建中:
return $this->markdown('emails.product-added-email');
Run Code Online (Sandbox Code Playgroud)
这就是我传递给ProductAddedMail的内容:
\Mail::to($user)->send(new \App\Mail\ProductAdded($user, $product));
变量工作正常。
有任何想法吗?
您已经在php字符串中,无需使用刀片括号。您可以像这样连接字符串:
@component('mail::button', ['url' => 'https://www.example.com/product/view/' . $product->id, 'color' => 'orange'])
Run Code Online (Sandbox Code Playgroud)