我想在自定义模块中列出所有发票电子邮件模板。我想在自定义管理表单中添加一个下拉列表。
答案 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;
}
它只会返回与发票相关的自定义模板列表。