I want to list out all invoice email templates in my custom module. I want to add one dropdown in my custom admin form.
Asked
Active
Viewed 560 times
1 Answers
1
List assume, you have form field like:
$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()
]
);
and write function who can get collection of invoice custom email templates:
/**
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;
}
It will only return Invoice related custom template list.

Pramod Kharade
- 2,005
- 1
- 22
- 41