2011-11-05 61 views
2

我在存储中创建一个通讯模板Magento的通讯模板工作(Magento的基础),并添加以下代码,以使退订链接:退订链接不

请点击此链接退订:

{ {var subscriber.getUnsubscriptionLink()}}

但是,当我测试它时,我的电子邮件中没有收到任何链接。我只能在我的电子邮件中看到“按此链接取消订阅:”,但没有链接取消订阅此电子邮件。

注意:我已在“模板内容”部分下添加了此内容。

请帮忙!

预先感谢您!

回答

0

在您的Template.php文件中,getTemplateText函数应该看起来类似于此;

public function getTemplateText() 
{ 
    if (!$this->getData('template_text') && !$this->getId()) { 
     $this->setData('template_text', 
      Mage::helper('newsletter')-> 
      __('Follow this link to unsubscribe <!-- This tag is for unsubscribe link --> 
      <a href="{{var subscriber.getUnsubscriptionLink()}}"> 
      {{var subscriber.getUnsubscriptionLink()}}</a>') 
     ); 
    } 

    return $this->getData('template_text'); 
} 

这是你在用什么?可能是标签已被删除。

您还应该检查将电子邮件发送到不同的邮件客户端时会发生什么,以排除本地因素。

0

我知道我迟到了,但我仍然想在这里分享解决方案。

我使用的是Magento 1.9。 要添加的通讯退订链接在这里通讯模板的步骤如下:

  1. 覆盖核心文件

/app/code/core/Mage/Newsletter/Model/Subscriber.php

在本地目录

/应用程序副本/code/local/Mage/Newsletter/Model/Subscriber.php

  • 开启在编辑器来编辑代码和seacrh的function sendConfirmationSuccessEmail() 替换代码
  •  
    $email->sendTransactional(
        Mage::getStoreConfig(self::XML_PATH_SUCCESS_EMAIL_TEMPLATE), 
        Mage::getStoreConfig(self::XML_PATH_SUCCESS_EMAIL_IDENTITY), 
        $this->getEmail(), 
        $this->getName(), 
        array('subscriber'=>$this) 
    ); 
    

    与此

     
    $email->sendTransactional(
        Mage::getStoreConfig(self::XML_PATH_SUCCESS_EMAIL_TEMPLATE), 
        Mage::getStoreConfig(self::XML_PATH_SUCCESS_EMAIL_IDENTITY), 
        $this->getEmail(), 
        $this->getName(), 
        array('subscriber'=>$this, 'unsubscribe' =>$this->getUnsubscriptionLink()) 
    ); 
    
  • 和将此代码放在要使用退订链接邮件模板:

    <a href="{{var unsubscribe}}">Unsubscribe here</a>

  • 这就是它!

    希望这可以帮助别人。

    +0

    请不要在多个问题上发布完全相同的答案:它不是很适合所有问题,或者问题是应重新标记/关闭的重复问题。 – kleopatra

    +0

    对不起@kleopatra这个不便,其实我找到同样的问题没有接受的答案,当我在寻找同样的问题。后遗症我发现这个问题,并觉得我应该与所有职位分享我的解决方案。这就是为什么我有多个职位 –

    +1

    发布相同的答案,如果你发现相同的问题,请投票/国旗关闭重复:-) – kleopatra