【问题标题】:Laravel blade template not rendering table properlyLaravel 刀片模板无法正确渲染表格
【发布时间】:2018-08-15 18:03:39
【问题描述】:

我对 Laravel 很陌生,但最近从某人那里接手了一个项目,并试图让邮件刀片模板呈现,但我遇到了问题。

查询邮件模板使用代码如下:

@component('mail::message')
    #New customer enquiry

    We have received a new customer enquiry.

    @component('mail::table')
        | **Name**                                       | **Email**             | **Telephone**           |
        | ---------------------------------------------- |:---------------------:| -----------------------:|
        | {{$enquiry->firstname}} {{$enquiry->lastname}} | <{{$enquiry->email}}> | {{$enquiry->telephone}} |
    @endcomponent

    Thanks,<br>
    {{ config('app.name') }}
@endcomponent

但表格总是呈现为原始 HTML,这是邮件在 MailCatcher 中的屏幕截图:

我查看了其他几篇涉及此类问题的帖子,但通常是因为尝试在邮件模板中呈现多个表格,但这只是一个表格。是否有我遗漏的组件,或者只是 MailCatcher 没有正确呈现?

【问题讨论】:

    标签: laravel blade


    【解决方案1】:

    使用 Markdown 渲染邮件时,避免过度使用缩进。你的代码应该是这样的

    @component('mail::message')
    #New customer enquiry
    
    We have received a new customer enquiry.
    
    @component('mail::table')
    | **Name**                                       | **Email**             | **Telephone**           |
    | ---------------------------------------------- |:---------------------:| -----------------------:|
    | {{$enquiry->firstname}} {{$enquiry->lastname}} | <{{$enquiry->email}}> | {{$enquiry->telephone}} |
    @endcomponent
    
    Thanks,<br>
    {{ config('app.name') }}
    @endcomponent
    

    【讨论】:

    • 谢谢,这应该记录在案。
    • 完美的感谢:D
    【解决方案2】:

    您没有显示未呈现的 html 是如何加载的。 但是对于包含 html 的变量,您可能需要使用 {!! !!} 而不是 {{ }}

    【讨论】:

    • 变量显示正常,就是表格本身——这一行:@component('mail::table') 只是渲染&lt;div class="table"&gt; 而不是实际创建表格。
    • 您能分享生成@component 的标记吗? (即一个模板应该有一些包含 {{ $slot }} 的代码)
    猜你喜欢
    • 2016-04-04
    • 2018-10-03
    • 2016-02-27
    • 2023-04-08
    • 2016-07-13
    • 2016-03-17
    • 2019-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多