Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

#2447
Vamos adicionar dois campos: Empresa e Contato

Para isso vamos modificar 3 arquivos:

1. /catalog/view/theme/default/template/information/contact.tpl
2. /catalog/controller/information/contact.php
3. /catalog/language/english/information/contact.php

Abra o arquivo /catalog/view/theme/default/template/information/contact.tpl procure por:
Código: Selecionar todos
<?php if ($error_name) { ?>
 <span><?php echo $error_name; ?></span>
 <?php } ?>
Depois deste codigo insira:
Código: Selecionar todos
<tr>
 <td><?php echo $entry_company_name; ?><br />
 <input type="text" name="company_name" value="<?php echo $company_name; ?>" />
 </td>
 </tr>
 <tr>
 <td><?php echo $entry_contact_no; ?><br />
 <input type="text" name="contact_no" value="<?php echo $contact_no; ?>" />
 </td>
 </tr>
Abra o arquivo /catalog/controller/information/contact.php

Procure por:
Código: Selecionar todos
$this->data['entry_name'] = $this->language->get('entry_name');
Abaixo disso adicione estas linhas:
Código: Selecionar todos
$this->data['entry_company_name'] = $this->language->get('entry_company_name');
$this->data['entry_contact_no'] = $this->language->get('entry_contact_no');
Agora procure por:
Código: Selecionar todos
if (isset($this->request->post['name'])) {
 $this->data['name'] = $this->request->post['name'];
 } else {
 $this->data['name'] = '';
 }
Depois deste código adicione as linhas abaixo:
Código: Selecionar todos
if (isset($this->request->post['company_name'])) {
 $this->data['company_name'] = $this->request->post['company_name'];
 } else {
 $this->data['company_name'] = '';
 }
 
if (isset($this->request->post['contact_no'])) {
 $this->data['contact_no'] = $this->request->post['contact_no'];
 } else {
 $this->data['contact_no'] = '';
 }
Volte para a linha 11, antes de $mail = new Mail(); , adicione as linhas abaixo:
Código: Selecionar todos
$email_content = "<strong>Name : </strong>".$this->request->post['name'];
 $email_content .= "<br><br><strong>Email : </strong> <a href='mailto:".$this->request->post['email']."' > ".$this->request->post['email']." </a>";
 $email_content .= "<br><br><strong>Company : </strong>".$this->request->post['company_name'];
 $email_content .= "<br><br><strong>Contact No. : </strong>".$this->request->post['contact_no'];
$email_content .= "<br><br><strong>Enquiry : </strong>".nl2br($this->request->post['enquiry']);
Abra o arquivo /catalog/language/portuguese-br/information/contact.php

Procure por:
Código: Selecionar todos
// Entry Fields
 $_['entry_name']     = 'Nome:';
Abaixo desta linha adicione as linhas abaixo:
Código: Selecionar todos
$_['entry_company_name']     = 'Empresa:'; 
$_['entry_contact_no']     = 'Contato:';
OBS.: CASO USE O IDIOMA INGLÊS FAÇA O MESMO PROCEDIMENTO.

Abra o arquivo /catalog/language/english/information/contact.php

Procure por:
Código: Selecionar todos
// Entry Fields
 $_['entry_name']     = 'First Name:';
Abaixo desta linha adicione as linhas abaixo:
Código: Selecionar todos
$_['entry_company_name']     = 'Company:'; 
$_['entry_contact_no']     = 'Contact No.:';
#30283
Amigos, seguindo o tutorial adicionei o campo TELEFONE ao formulário e após a edição dos arquivos mencionados adaptei a linha que envia o email da seguinte forma:
$mail->setText(strip_tags('E-mail De: ' . $this->request->post['email'] . "\r\n". $this->request->post['tel'] . "\r\n" .html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8'))); e funcionou perfeitamente.

Muito obrigado ao Fernando e ao Robra pelas dicas, resolveram um problema que acredito ser de muitos programadores do OC.
Grande abraço, Paulo.
#49996
Eu Também

No Arquivo /catalog/controller/information/contact.php

Na linha: $mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));

Alterei por:

$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry']. "\r\n". $this->request->post['telefone'], ENT_QUOTES, 'UTF-8')));

Funciono

Obrigado!

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]