rebelmiles/laravel-blinky

Laravel 中 Inky 邮件模板的基础

0.1.2 2019-03-31 17:39 UTC

This package is auto-updated.

Last update: 2024-09-29 05:02:28 UTC


README

基于 Laravel Inky 的包,由 petecoop 创建

遗憾的是,该包大约有一年没有更新,不能安装到当前的 Laravel 版本 5.5、5.6 和 5.7 上。

允许您在 Laravel 中优雅地使用 Foundation 的 Inky 邮件模板。

任何扩展名为 .inky.php 的视图都将与 Inky 和 Blade 一起编译,使您能够无缝地一起使用这两个模板引擎。CSS 将自动内联,以便在不支持外部样式的电子邮件客户端中正常工作。

安装

使用 composer 需要

composer require vanderb/laravel-blinky

安装后,您需要注册服务提供者。打开 config/app.php 并将以下内容添加到 providers

Vanderb\LaravelBlinky\BlinkyServiceProvider::class

用法

请参阅 Foundation for Emails 文档 了解如何使用 Inky 和 Foundation for Emails CSS 的完整用法。

创建一个 Inky 视图,例如 emails/welcome.inky.php

<container>
  <row>
    <columns>Welcome, {{ $name }}</columns>
  </row>
</container>

在 Laravel 中像平常一样使用 Mail

Mail::send('emails.welcome', ['name' => $user->name], function ($m) use ($user) {
  $m->from('hello@app.com', 'Your Application');

  $m->to($user->email, $user->name)->subject('Welcome!');
});

您可以为继承而创建一个 Blade 布局,例如 emails/layout.inky.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="viewport" content="width=device-width"/>
  <link rel="stylesheet" href="foundation-emails.css">
</head>
<body>
  @yield('content')
</body>
</html>

然后

@extends('emails.layout')

@section('content')
  <container>
    <row>
      <columns>Welcome, {{ $name }}</columns>
    </row>
  </container>
@stop

CSS 内联

<style><link rel="stylesheet"> 将自动内联。

您的 <link rel="stylesheet">href 位置解析为 resources/assets/css 目录,因此在上述示例中它期望在 resources/assets/css/foundation-emails.css 中有一些 CSS。

这里有一些关于电子邮件中 CSS 的有用参考:电子邮件客户端 CSS 支持指南

忽略 CSS 内联

也许您想忽略 CSS 内联。

只需将以下设置更新到 config/views.php

    'laravel_blinky' => [
        'use_inliner' => false
    ]

许可证

MIT 许可证