如何在magento 2中列出发票电子邮件模板?

时间:2017-05-31 10:03:20

标签: magento-2.0

我想在自定义模块中列出所有发票电子邮件模板。我想在自定义管理表单中添加一个下拉列表。

1 个答案:

答案 0 :(得分:1)

列表假设您有以下表单字段:

$fieldset->addField(
            'invoice_template_id', 'select', [
        'label' => __('Select Email Template'),
        'title' => __('Select Email Template'),
        'name' => 'invoice_template_id',
        'required' => true,
        'class' => 'selectopt',
        /* 'css_class' => 'hidden', */
        'values' => $this->getEmailTemplate()
            ]
    );

并编写可以获取发票自定义电子邮件模板集合的函数:

/**
  Email Template List
 * */
public function getEmailTemplate() {
    $emailList = array();
    $collection = $this->emailTemplateCollectionFactory->create();
    foreach ($collection as $list) {
        if (($list->getOrigTemplateCode() == "sales_email_invoice_template")) {
            $emailList[$list->getTemplateId()] = $list->getTemplateCode();
        } elseif (($list->getOrigTemplateCode() == "sales_email_invoice_comment_guest_template")) {
            $emailList[$list->getTemplateId()] = $list->getTemplateCode();
        } elseif ($list->getOrigTemplateCode() == "sales_email_invoice_comment_template") {
            $emailList[$list->getTemplateId()] = $list->getTemplateCode();
        }elseif ($list->getOrigTemplateCode() == "sales_email_invoice_guest_template") {
            $emailList[$list->getTemplateId()] = $list->getTemplateCode();
        }
    }
    return $emailList;
}

它只会返回与发票相关的自定义模板列表。