Где формируются переменные для шаблонов писем?

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

22.10.2011 13:45

Доброго! Очень необходима Ваша помощь. Недавно я писал про купон, который отправляется на почту, при покупке товара.
Я нашел файлы, где формируется html (view) этого купона:
app/locale/en_us/template/email/deal_coupon.html
В это файле подставляются переменные вида: {{var deallist.couponcode}}
Подскажите, где они формируются, я так понимаю есть модель и контроллер, который формирует это..
Очень надо, парюсь уже не первую неделю.
Спасибо

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

22.10.2011 13:56

Переменные, доступные в шаблоне письма, передаются в объект-письмо посредством метода Mage_Core_Model_Email_Template::getProcessedTemplate.

#3 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

22.10.2011 14:11

А где находится файл с этим методом?

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

22.10.2011 14:13

Если вы - программист, то почему ваша среда разработки не даёт вам ответа на ваш вопрос?

#5 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

22.10.2011 14:24

Мне просто не ясно, где контроллер и модель лежит от модуля, не стандартного купона, а того, который я выкладывал для показа...Программировать за меня я не прошу...Если не сложно, укажите где эти файлы, по ходу уже сам разберусь
Нашел файл Poduct_Controller.php в нем вроде формируется вся информация о покупке, только я не уверен, что он относится к модуля для моего купона

$postObject->setData(array('total' => $cmail1[4], .....));
И в этом файле не вижу обращения к deal_coupon.html

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

22.10.2011 14:32

Если вы сами понимаете, что данный программный код вашего купона не является стандартным, каким образом, по вашему мнению, я должен предсказать расположение его файлов?

#7 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

22.10.2011 14:43

Ну хотя бы предположить? я думаю, что в magento при создании модулей, их надо грузить в определенный каталог..

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

22.10.2011 14:49

Как правило, связь между шаблоном и остальной частью модуля задаётся в файле config.xml модуля.
Очевидный способ найти модуль: глобальный поиск по коду имени файла шаблона.

#9 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

22.10.2011 14:52

Понял, спасибо.

#10 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

22.10.2011 16:19

Поискал по имени шаблона, нашел файл: app\code\local\Gclone\Dealcoupon\etc\config.xml

Структура такая:
<?xml version="1.0"?>

<config>

    <modules>

        <Gclone_Dealcoupon>

            <version>0.1.0</version>

        </Gclone_Dealcoupon>

    </modules>

    <frontend>

        <routers>

            <dealcoupon>

                <use>standard</use>

                <args>

                    <module>Gclone_Dealcoupon</module>

                    <frontName>dealcoupon</frontName>

                </args>

            </dealcoupon>

        </routers>

        <layout>

            <updates>

                <dealcoupon>

                    <file>dealcoupon.xml</file>

                </dealcoupon>

            </updates>

        </layout>

    </frontend>

    <admin>

        <routers>

            <dealcoupon>

                <use>admin</use>

                <args>

                    <module>Gclone_Dealcoupon</module>

                    <frontName>dealcoupon</frontName>

                </args>

            </dealcoupon>

        </routers>

    </admin>

    <adminhtml>

        <acl>

            <resources>

                <all>

                    <title>Allow Everything</title>

                </all>

                <admin>

                    <children>

                        <Gclone_Dealcoupon>

                            <title>Dealcoupon Module</title>

                            <sort_order>10</sort_order>

                        </Gclone_Dealcoupon>

                    </children>

                </admin>

            </resources>

        </acl>

        <layout>

            <updates>

                <dealcoupon>

                    <file>dealcoupon.xml</file>

                </dealcoupon>

            </updates>

        </layout>

    </adminhtml>

    <global>

        <resources>

            <dealcoupon_setup>

                <setup>

                    <module>Gclone_Dealcoupon</module>

                </setup>

                <connection>

                    <use>core_setup</use>

                </connection>

            </dealcoupon_setup>

            <dealcoupon_write>

                <connection>

                    <use>core_write</use>

                </connection>

            </dealcoupon_write>

            <dealcoupon_read>

                <connection>

                    <use>core_read</use>

                </connection>

            </dealcoupon_read>

        </resources>

        <models>

            <dealcoupon>

                <class>Gclone_Dealcoupon_Model</class>

                <resourceModel>dealcoupon_mysql4</resourceModel>

            </dealcoupon>

            <dealcoupon_mysql4>

                <class>Gclone_Dealcoupon_Model_Mysql4</class>

                <entities>

                    <dealcoupon>

                        <table>dealcoupon</table>

                    </dealcoupon>

                </entities>

            </dealcoupon_mysql4>

        </models>

        <template>

            <email>

                <dealcoupon_email_coupon_template translate="label" module="dealcoupon">

                    <label>Deal Coupon Template</label>

                    <file>deal_coupon.html</file>

                    <type>html</type>

                </dealcoupon_email_coupon_template>

            </email>

            <email>

                <dealcoupon_email_email_template translate="label" module="dealcoupon">

                    <label>Deal not Achived Template</label>

                    <file>deal_not_achieved.html</file>

                    <type>html</type>

                </dealcoupon_email_email_template>

            </email>

            <email>

                <dealcoupon_email_owner_template translate="label" module="dealcoupon">

                    <label>Deal Owner List Template</label>

                    <file>deal_owner_list.html</file>

                    <type>html</type>

                </dealcoupon_email_owner_template>

            </email>

        </template>

        <blocks>

            <dealcoupon>

                <class>Gclone_Dealcoupon_Block</class>

            </dealcoupon>

        </blocks>

        <helpers>

            <dealcoupon>

                <class>Gclone_Dealcoupon_Helper</class>

            </dealcoupon>

        </helpers>

    </global>

    <default>

        <dealcoupon>

            <email>

                <enabled>1</enabled>

                <template>dealcoupon_email_coupon_template</template>                

                <allow_b_link>1</allow_b_link>

            </email>

        </dealcoupon>

        <dealcoupon>

            <email>

                <enabled>1</enabled>

                <template>dealcoupon_email_email_template</template>

                <allow_b_link>1</allow_b_link>

            </email>

        </dealcoupon>

        <dealcoupon>

            <email>

                <enabled>1</enabled>

                <template>dealcoupon_email_owner_template</template>

                <allow_b_link>1</allow_b_link>

            </email>

        </dealcoupon>

    </default>

</config>



Это как-то может мне помочь узнать, где формируются переменные подставляемые в шаблон?

#11 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

22.10.2011 16:24

<email>
    <dealcoupon_email_coupon_template translate="label" module="dealcoupon">
        <label>Deal Coupon Template</label>
        <file>deal_coupon.html</file>
        <type>html</type>
    </dealcoupon_email_coupon_template>
</email>

Дальше ищите в программном коде вхождения тега dealcoupon_email_coupon_template.

#12 oli
  • Группа: Пользователь
  • Сообщений: 42
  • Регистрация: 08.10.2011

22.10.2011 16:31

Т-е искать php файл в котором есть совпадение с dealcoupon_email_coupon_template?

#13 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

22.10.2011 16:33

При глобальном поиске по программному коду вам не нужно думать о расширении файла: просто запускаете поиск - и всё.

Поделиться темой: