Página 1 de 2
Erro de formatação
Enviado: 28 Nov 2011, 13:22
por andersonnarciso
Galera, estou recebendo o e-mail da loja indicando que foi feito o pedido, porem sem formatação HTML, e não faço idéia de qual arquivo vem esse e-mail pois no na admin/mail só um único arquivo que não é o oerder.php então não sei de onde que vem o e-mail de venda para o admin da loja. O email está chegando assim:
Você recebeu um pedido.
Pedido Nº: 13
Adicionado em: 28/11/2011
Situação do Pedido: Pendente
Produtos
1x Caveira (Camisetas Estampadas) <span class="s_currency s_before">R$</span>25,00
-CorPreto
-TamanhoM
Total do Pedido
Sub-Total <span class="s_currency s_before">R$</span>25,00 PAC. Entrega: 6 dias úteis. <span class="s_currency s_before">R$</span>11,90 Total <span class="s_currency s_before">R$</span>36,90
Os comentários para seu pedido são:
teste
text_payable
text_address
Rua 708, nº - Casa Branca - Itapema
text_payment
Alguma solução? :/
Re: Erro de formatação
Enviado: 29 Nov 2011, 08:31
por marciofornari
Você está recebendo o e-mail no outlook talvez?
Re: Erro de formatação
Enviado: 30 Nov 2011, 14:17
por andersonnarciso
Sim, no Outlook, mas o estranho é que o de compra vem formatado...
Re: Erro de formatação
Enviado: 01 Dez 2011, 09:36
por denisgomes
Veja a pasta /catalog/view/theme/<seu tema>/template/mail/. Se não houver o arquivo order.tpl lá, veja a pasta /catalog/view/theme/default/template/mail/ (o OpenCart busca os arquivos do template default quando não encontra o mesmo arquivo na pasta do template que você está usando).
Re: Erro de formatação
Enviado: 13 Jan 2012, 17:57
por andersonnarciso
Olá pessoal! Voltando a bater mais uma vez nesta tecla, não entendo porque o aviso que recebo de uma compra não vem com o html formatado e o que o cliente recebe vai... Tudo bem se o temaplate não tiver o order.php ele vai buscar o order.php do template default, porem do mesmo jeito ele não vem formatado... Alguém sabe me dizer o porque?
You have received an order.
Order ID: 6
Date Added: 13/01/2012
Order Status: Pending
Products
1x Teste (Teste) <span class="s_currency s_before">$</span>38.00
Order Totals
Sub-Total <span class="s_currency s_before">$</span>38.00 Flat Rate <span class="s_currency s_before">$</span>5.00 Total <span class="s_currency s_before">$</span>43.00
Re: Erro de formatação
Enviado: 13 Jan 2012, 20:25
por Renato Frota
O OpenCart é preparado para enviar ao cliente:
1- E-mail e-mail com duplo conteúdo (html e texto) para o cliente, onde o conteúdo HTML é puxado do template mail/order.php, e o texto está embutido na própria catalog/model/checkout/order.php. Se o leitor do cliente suportar HTML, aparece o conteúdo do template, do contrário, ele lê o texto puro.
2- E-mail somente com o texto puro para o(s) admin(s).
Existem adaptações via extensões, como essa:
http://www.opencart.com/index.php?route ... on_id=2221
Ou se você quiser simplesmente receber uma cópia do pedido em HTML (usando o mesmo template que vai pro cliente), altere a catalog/model/checkout/order.php
Procure:
Código: Selecionar todos$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($order_info['store_name']);
$mail->setSubject($subject);
$mail->setText($text);
$mail->send();
troque por:
Código: Selecionar todos// HTML
$template->data['text_greeting'] = $language->get('text_new_received') . "\n\n";
$template->data['invoice_no'] = '';
$template->data['text_invoice_no'] = '';
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/order.tpl')) {
$html = $template->fetch($this->config->get('config_template') . '/template/mail/order.tpl');
} else {
$html = $template->fetch('default/template/mail/order.tpl');
}
$subject = sprintf($language->get('text_new_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id . ' (' . $order_total . ')');
$mail->setSubject($subject);
$mail->setTo($this->config->get('config_email'));
$mail->setHtml($html);
$mail->send();
Re: Erro de formatação
Enviado: 14 Jan 2012, 14:29
por andersonnarciso
Renato Frota escreveu:O OpenCart é preparado para enviar ao cliente:
1- E-mail e-mail com duplo conteúdo (html e texto) para o cliente, onde o conteúdo HTML é puxado do template mail/order.php, e o texto está embutido na própria catalog/model/checkout/order.php. Se o leitor do cliente suportar HTML, aparece o conteúdo do template, do contrário, ele lê o texto puro.
2- E-mail somente com o texto puro para o(s) admin(s).
Existem adaptações via extensões, como essa:
http://www.opencart.com/index.php?route ... on_id=2221
Ou se você quiser simplesmente receber uma cópia do pedido em HTML (usando o mesmo template que vai pro cliente), altere a catalog/model/checkout/order.php
Procure:
Código: Selecionar todos$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo($this->config->get('config_email'));
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($order_info['store_name']);
$mail->setSubject($subject);
$mail->setText($text);
$mail->send();
troque por:
Código: Selecionar todos// HTML
$template->data['text_greeting'] = $language->get('text_new_received') . "\n\n";
$template->data['invoice_no'] = '';
$template->data['text_invoice_no'] = '';
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/order.tpl')) {
$html = $template->fetch($this->config->get('config_template') . '/template/mail/order.tpl');
} else {
$html = $template->fetch('default/template/mail/order.tpl');
}
$subject = sprintf($language->get('text_new_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id . ' (' . $order_total . ')');
$mail->setSubject($subject);
$mail->setTo($this->config->get('config_email'));
$mail->setHtml($html);
$mail->send();
Dae Renato, cara obrigado pelo se retorno. Sua solução foi perfeita amigo, só ouve um detalhe.. O título do email ficou assim:
Nome da Loja - Pedido 43 (<span class="s_currency s_before">R$</span>49,90)
Re: Erro de formatação
Enviado: 14 Jan 2012, 16:39
por Renato Frota
Teste assim:
Código: Selecionar todos// HTML
$template->data['text_greeting'] = $language->get('text_new_received') . "\n\n";
$template->data['invoice_no'] = '';
$template->data['text_invoice_no'] = '';
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/order.tpl')) {
$html = $template->fetch($this->config->get('config_template') . '/template/mail/order.tpl');
} else {
$html = $template->fetch('default/template/mail/order.tpl');
}
$subject = sprintf($language->get('text_new_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id . ' (' . $order_info['total'] . ')');
$mail->setSubject($subject);
$mail->setTo($this->config->get('config_email'));
$mail->setHtml($html);
$mail->send();
Se não funcionar, só removendo o <span > na unha (com str_replace)
Re: Erro de formatação
Enviado: 14 Jan 2012, 23:27
por andersonnarciso
Renato Frota escreveu:Teste assim:
Código: Selecionar todos// HTML
$template->data['text_greeting'] = $language->get('text_new_received') . "\n\n";
$template->data['invoice_no'] = '';
$template->data['text_invoice_no'] = '';
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/order.tpl')) {
$html = $template->fetch($this->config->get('config_template') . '/template/mail/order.tpl');
} else {
$html = $template->fetch('default/template/mail/order.tpl');
}
$subject = sprintf($language->get('text_new_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id . ' (' . $order_info['total'] . ')');
$mail->setSubject($subject);
$mail->setTo($this->config->get('config_email'));
$mail->setHtml($html);
$mail->send();
Se não funcionar, só removendo o <span > na unha (com str_replace)
Não funcionou, ai ele não envia o e-mail.. Acho que porque ficaria sem a função send "$mail->send();" não? Removendo o span na unha onde? No mesmo arquivo?
Re: Erro de formatação
Enviado: 14 Jan 2012, 23:40
por Renato Frota
andersonnarciso escreveu:Renato Frota escreveu:Teste assim:
Código: Selecionar todos// HTML
$template->data['text_greeting'] = $language->get('text_new_received') . "\n\n";
$template->data['invoice_no'] = '';
$template->data['text_invoice_no'] = '';
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/order.tpl')) {
$html = $template->fetch($this->config->get('config_template') . '/template/mail/order.tpl');
} else {
$html = $template->fetch('default/template/mail/order.tpl');
}
$subject = sprintf($language->get('text_new_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id . ' (' . $order_info['total'] . ')');
$mail->setSubject($subject);
$mail->setTo($this->config->get('config_email'));
$mail->setHtml($html);
$mail->send();
Se não funcionar, só removendo o <span > na unha (com str_replace)
Não funcionou, ai ele não envia o e-mail.. Acho que porque ficaria sem a função send "$mail->send();" não? Removendo o span na unha onde? No mesmo arquivo?
Mas tem a $mail->send();
Acho que você não viu a barra de rolagem. Acostume-se a usar o botão "selecionar tudo" em cima do bloco de código pra evitar esse tipo de problema.
