【问题标题】:Laravel blade include partial is not parsing htmlLaravel 刀片包含部分不解析 html
【发布时间】:2018-05-02 03:43:04
【问题描述】:

我有如下电子邮件模板

@component('mail::message')
# You're invited for APP

<strong>{{ $fromName }}</strong> invited you for App.

{{ $messageBody }}

<?php switch ($type):
    case App\Mail\InviteEmail::TYPE_INVITE_EMAIL:
?>
        @include('emails.partials.invite')
<?php   break;
    case App\Mail\InviteEmail::TYPE_EXPLAINER_EMAIL:
?>
        @include('emails.partials.explainer')
<?php   break;
    case App\Mail\InviteEmail::TYPE_INTRO_EMAIL:
?>
        @include('emails.partials.intro')
<?php   break;
endswitch;
?>
@endcomponent

但是当它开始行动时,@include 部分不是解析 html 代码,而是在一些“代码”标签中呈现。以下是我得到的输出

【问题讨论】:

    标签: html laravel-5 laravel-blade


    【解决方案1】:

    要输出 HTML,您必须将其转义。

    {!! $messageBody !!}.
    

    请参阅文档:https://laravel.com/docs/5.5/blade#displaying-data

    【讨论】:

    • $messageBody 工作正常,只需要一些解决方案,我包含文件``` @include('emails.partials.invite')```
    【解决方案2】:

    由于@include (markdown reference) 之前的缩进,Markdown 被解释为代码块。我遇到了同样的问题,并在 this post 找到了这个答案。引用相关部分:

    我今天也遇到了同样的情况。问题是缩进 的电子邮件模板文件导致markdown在周围添加标签 东西,从而逃脱它。您可以通过以下方式判断是否是这种情况 检查 mailtrap 中的“HTML Source”选项卡。

    【讨论】:

      猜你喜欢
      • 2016-12-29
      • 2014-11-13
      • 2014-06-28
      • 2014-09-15
      • 2013-11-22
      • 2016-12-15
      • 2018-04-08
      • 1970-01-01
      • 2019-05-16
      相关资源
      最近更新 更多