在Magento CE 1.8中,似乎{{var logo_url}}默认在其交易电子邮件中使用HTTPS链接(如果启用了SSL)。这会导致Outlook出现问题,因为Outlook不会显示带有SSL URL的图像。
有没有"容易"强制{{var logo_url}}到HTTP?
的方法答案 0 :(得分:1)
我认为强制执行HTTP而不是HTTPS是个好主意但是......我能想到的最简单方法是将Mage_Core_Model_Email_Template_Abstract
扩展为自己的扩展(更好)或在本地代码池中覆盖它(更快更好但不太干净)并调整函数_addEmailVariables($variables, $storeId)
。
为了示范,我将展示第二种方法:
将app/code/core/Mage/Core/Model/Email/Template/Abstract.php
复制到app/code/local/Mage/Core/Model/Email/Template/Abstract.php
并创建app/code/local/
中尚不存在的任何文件夹。
现在在函数app/code/local/Mage/Core/Model/Email/Template/Abstract.php
的{{1}}中查找
_addEmailVariables($variables, $storeId)
并将其替换为此类
if (!isset($variables['logo_url'])) {
$variables['logo_url'] = $this->_getLogoUrl($storeId);
}
未经测试,但这应该有效。您也可以在自己的扩展中调整此方法。如果您不熟悉过程,请查看http://inchoo.net/上的优秀文章(http://inchoo.net/magento/overriding-magento-blocks-models-helpers-and-controllers/是一个很好的起点)。