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 = ‘[email protected]’;
/**
* 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