Como Desinscrever um Cliente da Newsletter do Magento pelo Email do Cliente

Olá pessoal!

Estes dias precisei fazer um módulo que faria a leitura de um arquivo que continha uma listagem de e-mails de clientes da loja para cada registro constava se o cliente deveria ou não receber as newsletter da loja.

Podemos fazer isso manualmente via Admin, simplesmente navegando até Customers > Manage Customers, clicando em algum cliente para editá-lo, no painel esquerdo de informações do cliente navegue até a aba Newsletter e desmarque a opção de assinatura da newsletter.

Mas, como todo programador curioso como eu, abaixo coloco o simples trecho de código para cancelar a assinatura de newsletter para um cliente através de um e-mail ou id.

Por email:

[php]
$email = ‘tiago@tiagosampaio.com’;

/**
* Obtém uma instância do objeto subscriber (Mage_Newsletter_Model_Subscriber)
*/
$subscriber = Mage::getModel(‘newsletter/subscriber’);
$subscriber->loadByEmail($email)
->unsubscribe();
/**
* Opcional: Envia o e-mail de confirmação de cancelamento da assinatura.
*/
$subscriber->sendConfirmationSuccessEmail();
[/php]

Por Id do cliente:

[php]
$id = 75;

/**
* Faz a leitura do objeto customer (Mage_Customer_Model_Customer)
*/
$customer = Mage::getModel(‘customer/customer’)->load($id);

/**
* Obtém uma instância do objeto subscriber (Mage_Newsletter_Model_Subscriber)
*/
$subscriber = Mage::getModel(‘newsletter/subscriber’);
$subscriber->loadByCustomer($customer)
->unsubscribe();
/**
* Opcional: Envia o e-mail de confirmação de cancelamento da assinatura.
*/
$subscriber->sendConfirmationSuccessEmail();
[/php]

Até a próxima!

Tiago Sampaio

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s