gremo/zurb-ink-bundle

此包已被废弃,不再维护。没有建议的替代包。

创建电子邮件模板很难。此捆绑包提供帮助。

安装量: 225,449

依赖项: 0

建议者: 0

安全: 0

星标: 24

关注者: 4

分支: 37

开放问题: 2

类型:symfony-bundle

v4.1.0 2019-08-22 23:07 UTC

README

Latest stable Downloads total GitHub issues

警告 ⛔ 此项目现已归档。在旧版 Symfony 2/3 项目中使用它是可以的,它应该可以正常工作。新的 Symfony 项目应使用 twig/cssinliner-extratwig/inky-extra(参见 内联 CSS 并使用 inky)。

创建电子邮件模板很难。此 Symfony Bundle 提供帮助。

原始捆绑包 thampe/ZurbInkBundle 已被废弃。此分支旨在提供原始项目的维护版本。我在工作中每天都在使用此捆绑包,并尊重语义版本。

你有一个好主意并想 贡献 吗?让我们这么做吧!随时可以打开一个问题。

升级

  • 支持 Symfony 2 和 3 的最后一个标签是 4.0.1。之后,此项目仅支持 Symfony 4 和 5。
  • 原始项目的最新标签是 2.2.6。您只能通过更改 Composer 要求使用此版本。
  • 我分支的最新 2.x 标签是 2.3.0,其中包含一些错误修复。您可以通过更改 Composer 要求和内核中的捆绑包名称使用此版本。

安装

通过 Composer 安装捆绑包

composer require gremo/zurb-ink-bundle

然后在 config/bundles.php 中启用捆绑包

<?php
// config/bundles.php

return [
    // ...
    Gremo\ZurbInkBundle\GremoZurbInkBundle::class => ['all' => true],
    // ...
];

使用方法

首先,我们需要为我们 HTML 电子邮件创建一个模板。您可以使用 Foundation for EmailsInky,或者从头开始编写。

使用 Foundation for Emails 和 Inky

Foundation for Emails 是用于构建 HTML 响应式电子邮件的框架,而 Inky 是一种模板语言,它将简单的 HTML 标签转换为电子邮件所需的复杂表格 HTML。

扩展基础 Foundation for Emails 布局并覆盖 content

{% extends '@GremoZurbInk/foundation-emails/base.html.twig' %}

{% block content %}
    {# Inky markup and plain HTML #}
{% endblock %}

基础布局包含内联的 Foundation for Emails CSS。可以添加自定义样式,通过覆盖 stylesheets 块来实现(参见 添加样式)。

从头开始

不使用 Foundation for Emails 或 Inky 标记?扩展基础布局并覆盖 body

{% extends '@GremoZurbInk/base.html.twig' %}

{% block body %}
    {# Plain HTML #}
{% endblock %}

可以添加自定义样式,通过覆盖 stylesheets 块来实现(参见 添加样式)。

添加样式

电子邮件客户端通常只支持有效 HTML 的一部分,并且对 CSS 的支持不强(特别是 HTML 电子邮件中的 <head> 中的 CSS)。Yahoo、Outlook,甚至是 Gmail 都会移除 HTML 的 <head> 中包含的 CSS,因此在大多数情况下 内联 CSS 是必要的

可以在 stylesheets 块中调用 zurb_ink_add_stylesheet Twig 函数来添加样式表

{# ... #}

{% block stylesheets %}
    {{ parent() }}

    {# Custom CSS (inlined only) #}
    {{ zurb_ink_add_stylesheet('css/style.css') }}
{% endblock %}

{# ... #}

默认情况下,这只会内联CSS。将一个真值作为第二个参数传递给 同时内联和输出CSS<style> 标签中

{# ... #}

{% block stylesheets %}
    {{ parent() }}

    <style type="text/css">
        {# Custom CSS (both inlined and outputted) #}
        {{ zurb_ink_add_stylesheet('@AppBundle/Resources/public/css/style.css', true) }}
    </style>
{% endblock %}

{# ... #}