Использую Транзакшнл имейл.
Вставляется блок sales_email_order_items.
Отображение, то есть блок для него это :sales/order_email_items_order_default.
Мне требуется убрать 1 опцию. Чтобы она юзеру не приходила? Используется ли вообще это блок или магенто как то по другому емейл генерирует?
Email template убрать 1 опцию
01.04.2011 15:02
bugger (01.04.2011 14:57) писал:
Используется ли вообще это блок
Проверить факт использования конкретного блока в программном коде Magento вы можете посредством поиска написания класса блока в формате Magento (например, «sales/order_email_items_order_default» в вашем случае) в программном коде Magento.
01.04.2011 18:13
Mage::log(__FILE__);
Как сделать так чтобы этот метод срабатывал на phtml файлах.
Дело в том что у нас имеется свой Transactional email, который хранится в ДБ. Там есть ссылка на:
Мы попробовали каким-то образом менять эти файлы, но это как-то бесполезно в принципе. Нам нужно сделать больше паддинги и вставить текст алайгн, но как-то мимо пока-что.
Как сделать так чтобы этот метод срабатывал на 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>
Мы попробовали каким-то образом менять эти файлы, но это как-то бесполезно в принципе. Нам нужно сделать больше паддинги и вставить текст алайгн, но как-то мимо пока-что.
01.04.2011 18:17
Mage::log(__FILE__);можно вызывать в том числе и в файлах phtml, потому что этот метод - статический.
01.04.2011 18:26
То есть получается, что когда магенто высылает письмо она берет темплейты откуда-то с другого места или как? Так как данный метод вставлен в большинство файлов phtml возможно имеющих отношение к email. Можно сказать все файлы в папке templates/phtml содержат данный метод, но почему-то в лог не выводится ничего.
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
То есть получается что он берет другой темпелейт или как?
Как он генерирует письмо?
01.04.2011 18:37
Например, шаблоны могут браться из базы данных.
Когда администратор редактирует шаблоны из административной части - система записывает его изменения в базу данных в таблицу core_email_template.
Когда администратор редактирует шаблоны из административной части - система записывает его изменения в базу данных в таблицу core_email_template.
02.04.2011 09:01
Это да. Но там нет допустим того места шаблона, которое отвечает за items и totals. Вернее там только layout_handle. Получается тоталс и итемс рендерится блоком без использования template файла?
02.04.2011 09:05
Неверный вывод.
В вашем примере выше написано:
В вашем примере выше написано:
<block type="sales/order_totals" name="order_totals" template="sales/order/totals.phtml">
04.04.2011 12:15
То что шаблон должен использовать sales/order/totals.phtml для рендера это понятно, но мы меняли сам файл, меняли
Ставя другие значение, но как ни меняли ничего не вышло. Может конечно что-то не так делали, буду искать дальше.
Сейчас пока будем пробовать менять шаблон default. Может магенто не воспринимает наш шаблон.
<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. Может магенто не воспринимает наш шаблон.
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 ,
а не из нашей темы.
2011-04-04T09:40:18+00:00 DEBUG (7):.../htdocs/magento/app/design/frontend/base/default/template/sales/order/totals.phtml ,
а не из нашей темы.
17.02.2012 18:39
Eсли продукт типа "bundle" тогда нужно искать подобный блок в layout/bundle.xml. Причем генерация template/bundle/email/order/items/order/default.phtml