Email template убрать 1 опцию

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

01.04.2011 14:57

Использую Транзакшнл имейл.
Вставляется блок sales_email_order_items.
Отображение, то есть блок для него это :sales/order_email_items_order_default.

Мне требуется убрать 1 опцию. Чтобы она юзеру не приходила? Используется ли вообще это блок или магенто как то по другому емейл генерирует?

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

01.04.2011 15:02

Просмотр сообщенияbugger (01.04.2011 14:57) писал:

Используется ли вообще это блок


Проверить факт использования конкретного блока в программном коде Magento вы можете посредством поиска написания класса блока в формате Magento (например, «sales/order_email_items_order_default» в вашем случае) в программном коде Magento.

#3 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

01.04.2011 18:13

Mage::log(__FILE__);

Как сделать так чтобы этот метод срабатывал на phtml файлах.
Дело в том что у нас имеется свой Transactional email, который хранится в ДБ. Там есть ссылка на:

    <sales_email_order_items>
        <block type="sales/order_email_items" name="items" template="email/order/items.phtml">
            <action method="addItemRender"><type>default</type><block>sales/order_email_items_order_default</block><template>email/order/items/order/default.phtml</template></action>
            <action method="addItemRender"><type>grouped</type><block>sales/order_email_items_order_grouped</block><template>email/order/items/order/default.phtml</template></action>
            <block type="sales/order_totals" name="order_totals" template="sales/order/totals.phtml">
                <action method="setLabelProperties"><value>colspan="3" align="right" style="padding:3px 9px;"</value></action>
                <action method="setValueProperties"><value>align="right" style="padding:3px 9px"</value></action>
                <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml">
                    <action method="setIsPlaneMode"><value>1</value></action>
                </block>
            </block>
        </block>
    </sales_email_order_items>


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

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

01.04.2011 18:17

Mage::log(__FILE__);
можно вызывать в том числе и в файлах phtml, потому что этот метод - статический.

#5 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

01.04.2011 18:26

То есть получается, что когда магенто высылает письмо она берет темплейты откуда-то с другого места или как? Так как данный метод вставлен в большинство файлов phtml возможно имеющих отношение к email. Можно сказать все файлы в папке templates/phtml содержат данный метод, но почему-то в лог не выводится ничего.

#6 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

01.04.2011 18:34

Все что в логе появляется это :
2011-04-01T15:33:06+00:00 DEBUG (7): /htdocs/magento/app/code/core/Mage/Sales/Block/Order/Email/Items/Order/Default.php
2011-04-01T15:33:06+00:00 DEBUG (7): /htdocs/magento/app/code/core/Mage/Sales/Block/Order/Email/Items/Order/Default.php
2011-04-01T15:33:06+00:00 DEBUG (7): /htdocs/magento/app/code/core/Mage/Sales/Block/Order/Totals.php
2011-04-01T15:33:06+00:00 DEBUG (7): /htdocs/magento/app/code/core/Mage/Sales/Block/Order/Totals.php

То есть получается что он берет другой темпелейт или как?
Как он генерирует письмо?

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

01.04.2011 18:37

Например, шаблоны могут браться из базы данных.
Когда администратор редактирует шаблоны из административной части - система записывает его изменения в базу данных в таблицу core_email_template.

#8 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

02.04.2011 09:01

Это да. Но там нет допустим того места шаблона, которое отвечает за items и totals. Вернее там только layout_handle. Получается тоталс и итемс рендерится блоком без использования template файла?

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

02.04.2011 09:05

Неверный вывод.
В вашем примере выше написано:
<block type="sales/order_totals" name="order_totals" template="sales/order/totals.phtml">


#10 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

04.04.2011 12:15

То что шаблон должен использовать sales/order/totals.phtml для рендера это понятно, но мы меняли сам файл, меняли

                <action method="setLabelProperties"><value>colspan="3" align="right" style="padding:3px 9px;"</value></action>
                <action method="setValueProperties"><value>align="right" style="padding:3px 9px"</value></action>


Ставя другие значение, но как ни меняли ничего не вышло. Может конечно что-то не так делали, буду искать дальше.

Сейчас пока будем пробовать менять шаблон default. Может магенто не воспринимает наш шаблон.

#11 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

04.04.2011 12:43

Вообщем, вероятно из-за неправильной конфигурации, глюков, инопланетян и ещё значет чего, но магенто подгружает тоталс из

2011-04-04T09:40:18+00:00 DEBUG (7):.../htdocs/magento/app/design/frontend/base/default/template/sales/order/totals.phtml ,
а не из нашей темы.

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

04.04.2011 14:44

В какой папке расположен ваш шаблон?

#13 Nikolay Orlenko
  • Группа: Пользователь
  • Сообщений: 1
  • Регистрация: 17.02.2012

17.02.2012 18:39

Eсли продукт типа "bundle" тогда нужно искать подобный блок в layout/bundle.xml. Причем генерация template/bundle/email/order/items/order/default.phtml

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