Laravel 5.5 郵件支援多主題啦!(Laravel 5.5 新功能早知道)

JokerLinly發表於2017-04-05

file

在 Laravel 5.4 中,我們引入了 Markdown 語法寫電子郵件,可以讓我們在 Markdown 中撰寫電子郵件的同時使用 Blade 模板引擎的 Components & Slots

Laravel 為網頁元素提供了一系列預定義的元件,如頁首、頁尾、按鈕和表格,讓你可以輕鬆地將其放入電子郵件模板中。

@component('mail::button', ['url' => $actionUrl, 'color' => $color])
    {{ $actionText }}
@endcomponent

使用預設主題傳送 Markdown 電子郵件,就可以傳送非常好看的電子郵件的同時也無需擔心自己設計樣式會出現瀏覽器不相容的情況。

但是,如果你想要自定義地去設計電子郵件的風格呢?

在 Laravel 5.4 中,就已經可以實現建立自己的主題。

首先在以下路徑中生成包含自定義樣式的 CSS 檔案:

// my-theme.css is the name of your theme
resources/views/vendor/mail/html/themes/my-theme.css

然後更新 mail.php 配置檔案中的 markdown 選項:

'markdown' => [
    'theme' => 'my-theme',
    'paths' => [
        resource_path('views/vendor/mail'),
    ],
],

設定完之後,任何傳送的 Markdown 電子郵件都會使用自定義主題。

而現在,在 Laravel 5.5 中,會更加靈活。 你可以在 Mailable 類中指定使用哪個主題。

舉個例子。 假設有一個應用程式,需要向客戶和內部的管理員傳送電子郵件通知。 你很樂意在內部電子郵件使用 Laravel 的預設樣式,但客戶是必須要使用自定義的品牌相關的郵件模板主題。那麼我們可以簡單地這樣來做:

像以前一樣,通過新增一個 CSS 檔案來建立你的主題

resources/views/vendor/mail/html/themes

然後利用新的 $theme 屬性,在向使用者傳送電子郵件的 Mailable 類中引用新的主題。

class SendInvoice extends Mailable
{
    protected $theme = 'my-theme';
    ...
}

好像好厲害的樣子,讓人迫不及待地想快點使用這新任的 LTS!

今天的新聞播報就到這裡~~ 更多新聞請前往 Laravel 資訊站 檢視~ 謝謝捧場:tada:

參考連結:https://laravel-news.com/email-themes

Stay Hungry, Stay Foolish.

相關文章