Получение имени пользовательского шаблона электронной почты в конфигурации системы


Мне нужно получить пользовательский шаблон электронной почты в конфигурации системы администратора.

System.xml

Это код поля моего шаблона электронной почты.

<email_template>
    <label>Email Template</label>
    <show_in_default>1</show_in_default>
    <show_in_website>1</show_in_website>
    <show_in_store>1</show_in_store>
    <sort_order>5</sort_order>
    <frontend_type>select</frontend_type>
    <source_model>adminhtml/system_config_source_email_template</source_model>
</email_template>

Config.xml

<template>
    <email>
    <custom_email_template translate="label" module="eztestimonial">
    <label>Custom Email Template</label>
    <file>mymodule/custom_email.html</file>
    <type>html</type>
    </custom_email_template>
    </email>
</template>
<default>
    <mymodulesettings>
      <email>
          <email_template>custom_email_template</email_template>
      </email>
    </mymodulesettings>
</default>

И я добавил email.html файл в локали/en_US/шаблон/электронная почта/mymodule/путь Теперь у меня такой выход enter image description here

Но мне нужно показать свое собственное имя электронной почты в этом раскрывающемся списке. например:enter image description here Для этого я ссылаюсь на расширение блога AW.

Author: Community, 2013-09-23

1 answers

В вашем config.xml вы должны объявить свой шаблон внутри тега global и иметь на нем метку.

<global>
...
    <template>
        <email>
            <custom_email_template translate="label" module="eztestimonial">
                <label>Custom Email Template</label><!-- this should be shown in the config dropdown-->
                <file>mymodule/custom_email.html</file>
                <type>html</type>
            </custom_email_template>
        </email>
    </template>
...
</global>

Прямо сейчас у вас есть это за пределами тега global.

[ РЕДАКТИРОВАТЬ]
И для того, чтобы работать, путь вашего поля system.xml должен совпадать с именем шаблона с _ вместо /. В вашем случае custom_email_template.

Так что ваш system.xml должно выглядеть так:

<sections>
    <custom ...>
       ....
       <groups>
           <email ....>
              ...
              <template>
                  <label>Email Template</label>
                  <show_in_default>1</show_in_default>
                  <show_in_website>1</show_in_website>
                  <show_in_store>1</show_in_store>
                  <sort_order>5</sort_order>
                  <frontend_type>select</frontend_type>
                  <source_model>adminhtml/system_config_source_email_template</source_model>
              </template>
           </email>
       </groups>
    </custom>
</sections>

И тег <default> в config.xml должен быть

<default>
    <custom>
      <email>
          <template>custom_email_template</template>
      </email>
    </custom> 
</default>
 5
Author: Marius, 2016-11-09 12:41:45