Ao configurar o Magento para um cliente, cheguei na parte de newsletter e penei pra botar o bicho pra funcionar. Compartilho aqui a solução que encontrei junto com Marcelo Aires (@mavcomputer) com vocês:
Tentando colocar uma news na fila para ser enviada, quando clicava em ‘Save Newsletter’ nada acontecia. Ao analisar a página com o Firebug no Firefox, o mesmo mostrava que, logo que a página era carregada, no arquivo prototype.js, na linha 4021, a variável element tinha valor null e, ao clicar em ‘Save Newsletter’, que queueControl não havia sido definido, sem dizer em qual arquivo:
O erro do prototype, que é um framework javascript, não interfere no funcionamento da news, então vamos deixá-lo de lado.
O erro do queueControl undefined pode ser corrigido no arquivo
diretório_do_magento/app/design/adminhtml/default/default/template/newsletter/queue/edit.phtml
que, na parte do javascript, tem o seguinte conteúdo:
Como podemos observar, na linha 68 a função switchStore é chamada e a mesma usa queueControl (linha 73), que só é definida na linha 82. A solução é mover a linha 68, que é onde toda a ação é executada, para o final do arquivo, ficando assim (pode ser necessário limpar o cache do Magento após esta ação):
Bom, agora já se consegue enviar a news para a fila. Mas aí vem outro problema… a news fica eternamente na fila, com status Not Sent, e não é enviada nunca!
A solução dessa vez foi adicionar a seguinte linha no crontab do servidor:
*/5 * * * * /usr/bin/php5 -f /home/auere/public_html/magento/cron.php
/usr/bin/php5 é o caminho absoluto do php e pode ser obtido com o comando:
which php
/home/auere/public_html/magento/cron.php é o caminho absoluto até o arquivo cron.php do Magento.