qckanemoto/twigged-swiftmessage-service-provider

此包已被废弃,不再维护。作者建议使用 ttskch/twigged-swiftmessage-service-provider 包。

为 Silex 微框架提供的基于 Twig 模板的 Swift_Message 构建服务提供者。

2.1.0 2016-09-23 09:21 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:41:33 UTC


README

Build Status Latest Stable Version Total Downloads

这是为 TwiggedSwiftMessageBuilderSilex 提供的服务提供者。

要求

  • PHP 5.3+

入门

首先在您的 composer.json 中添加此依赖项

{
    "require": {
        "ttskch/twigged-swiftmessage-service-provider": "~2.0"
    }
}

并在您的应用程序中启用此服务提供者。请注意,您必须事先注册 TwigServiceProviderSwiftmailerServiceProvider

$app->register(new TwigServiceProvider());
$app->register(new SwiftmailerServiceProvider());
$app->register(new \Ttskch\Silex\Provider\TwiggedSwiftMessageServiceProvider());

然后您可以通过 Twig 模板构建 Swift_Message 对象。

$message = $app['twigged_message']->buildMessage('email.txt.twig');
$message->setTo('hoge@example.com');
$app['mailer']->send($message);

更多详细文档请参阅 此处

在 Twig 模板中使用提交的表单数据

此服务提供者提供了一项额外功能,可以轻松地在 Twig 模板中使用提交的表单数据。$app['twigged_swiftmessage.form_handler'] 允许您从 Form 对象中提取数据数组。

每个字段的标签和值可以按以下方式使用

  • {{ form.[field-name].label }}
  • {{ form.[field-name].value }}

例如

{# email.txt.twig #}

{% block from %}{{ form.email.value }}{% endblock %}
{% block from_name %}{{ form.name.value }}{% endblock %}
{% block to %}contact@example.com{% endblock %}

{% block subject %}[Contact] {{ form.summary.value }}{% endblock %}

{% block body %}
{% for item in form %}
----------------------------------------------------------------------
{{ item.label }}: {{ item.value }}
{% endfor %}
----------------------------------------------------------------------
{% endblock %}
// in your controller.

$form->handleRequest($request);
if ($form->isValid()) {
    $array = $app['twigged_message.form_handler']->getDataArray($form);
    $message = $app['twigged_message']->buildMessage('email.txt.twig', array('form' => $array));
    $app['mailer']->send($message);
}

当然,您也可以按照以下方式访问自定义字段类型

  • {{ form.[parent-field].[child-field].label }}
  • {{ form.[parent-field].[child-field].value }}

享受吧!

更多详细文档请参阅 此处