qckanemoto / twigged-swiftmessage-service-provider
此包已被废弃,不再维护。作者建议使用 ttskch/twigged-swiftmessage-service-provider 包。
为 Silex 微框架提供的基于 Twig 模板的 Swift_Message 构建服务提供者。
2.1.0
2016-09-23 09:21 UTC
Requires
- php: >=5.3.3
- silex/silex: ~1.0
- symfony/form: ~2.3
- symfony/security-csrf: ~2.4
- ttskch/twigged-swiftmessage-builder: ~2.0
Requires (Dev)
- phake/phake: ~2.0@dev
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2022-02-01 12:41:33 UTC
README
这是为 TwiggedSwiftMessageBuilder 的 Silex 提供的服务提供者。
要求
- PHP 5.3+
入门
首先在您的 composer.json
中添加此依赖项
{ "require": { "ttskch/twigged-swiftmessage-service-provider": "~2.0" } }
并在您的应用程序中启用此服务提供者。请注意,您必须事先注册 TwigServiceProvider
和 SwiftmailerServiceProvider
。
$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 }}
享受吧!
更多详细文档请参阅 此处。