Magento内置很丰富强大邮件模板功能,一般新建一个magento站点需要根据自己的需要修改模板,这个时候会经常用到模板预览的功能,如下
在System—Transactional Emails创建模板的时候右上角有个Preview Template一般点击这个按钮就可以预览当前加载的邮件模板了。但是今天在操作的时候发现有个问题,每次点击预览模板的时候总是调到管理后台首页,研究了下,发现这应该是Magento 1.6x的一个小bug,解决方法如下:
打开app/code/core/Mage/Adminhtml/Block/System/Email/Template/Preview.php编辑,找到下面的一段代码注释掉:
$template->setTemplateText( $this->escapeHtml($template->getTemplateText()) );
完整的样子应该如下:
class Mage_Adminhtml_Block_System_Email_Template_Preview extends Mage_Adminhtml_Block_Widget
35 {
36
37 protected function _toHtml()
38 {
39 $template = Mage::getModel('core/email_template');
40 if($id = (int)$this->getRequest()->getParam('id')) {
41 $template->load($id);
42 } else {
43 $template->setTemplateType($this->getRequest()->getParam('type'));
44 $template->setTemplateText($this->getRequest()->getParam('text'));
45 $template->setTemplateStyles($this->getRequest()->getParam('styles'));
46 }
47 // $template->setTemplateText(
48 // $this->escapeHtml($template->getTemplateText())
49 // );
50 //
51 Varien_Profiler::start("email_template_proccessing");
52 $vars = array();
53
54 $templateProcessed = $template->getProcessedTemplate($vars, true);
55
56 if($template->isPlain()) {
57 $templateProcessed = "<pre>" . htmlspecialchars($templateProcessed) . "</pre>";
58 }
59
60 Varien_Profiler::stop("email_template_proccessing");
61
62 return $templateProcessed;
63 }
64
65 }
这样就没问题了。
发表回复