Magento交易电子邮件标志和HTTPS (SSL)



在Magento CE 1.8中,似乎{{var logo_url}}默认在其交易电子邮件中使用HTTPS链接(如果启用SSL)。这会导致Outlook出现问题,因为Outlook不会显示带有SSL URL的图像。

是否有任何"简单"的方法来强制{{var logo_url}}到HTTP?

我不认为这是一个好主意强制任何是HTTP而不是HTTPS,但好吧…我能想到的最简单的方法是在自己的扩展中扩展Mage_Core_Model_Email_Template_Abstract(更好),或者在您的本地代码池中覆盖它(更快,还可以,但不是那么干净)并调整函数_addEmailVariables($variables, $storeId)

为了便于演示,我将展示第二种方法:

复制app/code/core/Mage/Core/Model/Email/Template/Abstract.phpapp/code/local/Mage/Core/Model/Email/Template/Abstract.php,并创建app/code/local/中不存在的文件夹

现在在app/code/local/Mage/Core/Model/Email/Template/Abstract.php_addEmailVariables($variables, $storeId)函数中查找

if (!isset($variables['logo_url'])) {
    $variables['logo_url'] = $this->_getLogoUrl($storeId);
}
并将其替换为如下内容
    if (!isset($variables['logo_url'])) {
        $variables['logo_url'] = str_replace("https", "http", $this->_getLogoUrl($storeId));
    }

未测试,但应该可以工作。您也可以在自己的扩展中采用这种方法。如果您不熟悉这个过程,请查看http://inchoo.net/上的优秀文章(http://inchoo.net/magento/overriding-magento-blocks-models-helpers-and-controllers/是一个很好的起点)。

最新更新