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 }
这样就没问题了。
发表回复