簡體   English   中英

如何將 markdown 文本傳遞給 Laravel 中的 markdown 刀片?

[英]How to pass markdown text to markdown blade in Laravel?

我需要在 Laravel 中發送 markdown 電子郵件,但是,此 email 的文本必須是可編輯的。 當我將$body傳遞給相關視圖時,它會以這種方式顯示:

$body = '''
# Introduction
hi {{ $username }} 
The body of your {{ $family }}.

@component('mail::button', ['url' => ''])
Button Text
@endcomponent
'''

在刀片的相關視圖中:

@component('mail::message')

    {{ $body }}

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

這是 output: laravel 輸出

有誰知道為什么會這樣?

不是將它作為字符串傳遞,而是將整個主體放在已有的視圖刀片中,並帶有上述所有變量,如下所示:

  @component('mail::message')
    
       hi {{ $username }} 
       The body of your {{ $family }}.

       @component('mail::button', ['url' => ''])
          Button Text
       @endcomponent
    
       Thanks,<br>
       {{ config('app.name') }}
    @endcomponent

然后,在發送郵件時,只需將您需要的所有變量傳遞給該視圖。 由於我不確定您如何發送電子郵件,以下是使用 Mailable class 的示例:

Mail::to('email_address')->send(new MailableClass($username, $family));

然后,您的可郵寄 class 將如下所示:

public function __construct($username, $family)
    {
        $this->username = $username;
        $this->family = $family;
    }

    
    public function build()
    {
        $data['username'] = $this->username;
        $data['family'] = $this->family;

        return $this
            ->view('your_blade', $data)
            ->subject('Subject');
    }

然后,您的變量將顯示在給定的視圖中。

只需將其更改為查看刀片:

{!! $body !!}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM