【发布时间】:2013-04-08 11:11:03
【问题描述】:
我已经能够加载视图模板并使用它来创建电子邮件正文。代码类似于这里的答案: How to render a mail template with layout in ZF2?
但现在我希望获取此代码并将其移动到一个模块中,以帮助我的应用程序的其余部分发送电子邮件。我想我想让所有电子邮件的视图尽可能简单/透明。
所以基本问题是,如何设置代码以接受渲染模板和发送电子邮件所需的信息?
我已经在服务定位器中保存了我的运输信息,并且可以正常发送电子邮件。我主要关心的是模板解析器所需的凌乱代码:
$view = new PhpRenderer();
$resolver = new TemplateMapResolver();
$resolver->setMap(array(
'mail' => __DIR__ . '/../../../view/communication/email/new-project.phtml'
));
$view->setResolver($resolver);
我可以将所有 *.phtml 用于保存在新模块中的电子邮件。无需在应用程序之外发送临时电子邮件(我们使用应用程序内部的通信)。
有没有办法使用module.config.php 'view_manager' => 'template_map' 并绕过创建new resolver() 的需要?在这种情况下,我可以设置电子邮件代码以接受应该在其中的命名模板地图。
'view_manager' => array(
'display_not_found_reason' => true,
'display_exceptions' => true,
'doctype' => 'HTML5',
'not_found_template' => 'error/404',
'exception_template' => 'error/index',
'template_map' => array(
'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',
'error/404' => __DIR__ . '/../view/error/404.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',
),
【问题讨论】:
标签: php zend-framework2