Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento事务性电子邮件徽标和HTTPS(SSL)_Magento_Email_Ssl_Https - Fatal编程技术网

Magento事务性电子邮件徽标和HTTPS(SSL)

Magento事务性电子邮件徽标和HTTPS(SSL),magento,email,ssl,https,Magento,Email,Ssl,Https,在Magento CE 1.8中,似乎{{var logo_url}}默认在其事务性电子邮件中使用HTTPS链接(如果启用了SSL)。这会导致Outlook出现问题,因为Outlook不会显示带有SSL URL的图像 有什么“简单”的方法可以强制{{var logo_url}}使用HTTP吗?我认为强制任何东西使用HTTP而不是HTTPS不是一个好主意,但是。。。我能想到的最简单的方法是在自己的扩展(更好)中扩展Mage\u Core\u Model\u Email\u Template\u A

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


有什么“简单”的方法可以强制{{var logo_url}}使用HTTP吗?

我认为强制任何东西使用HTTP而不是HTTPS不是一个好主意,但是。。。我能想到的最简单的方法是在自己的扩展(更好)中扩展
Mage\u Core\u Model\u Email\u Template\u Abstract
,或者在本地代码池中覆盖它(更快、更好,但不太干净),并调整函数
\u 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/
中不存在的任何文件夹

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

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));
    }
没有测试,但这应该是可行的。您也可以在自己的扩展中采用这种方法。如果您不熟悉流程,请查看关于的优秀文章(这是一个很好的起点)