Página 1 de 2

[TUTORIAL] Mensagem de Boas Vindas e Nome do Cliente

Enviado: 02 Jan 2011, 21:24
por Manoel Vidal
Muitos usuários do OpenCart sentem falta de um recurso muito simples, porém essencial para uma boa integração com os seus clientes que é exibir uma mensagem quando o cliente logar na loja ou simplesmente visitá-la.

Vou apresentar duas maneiras de fazer isso:

Vamos a primeira:

1. Localize e edite o arquivo: \catalog\view\theme\SEUTEMA\template\common\header.tpl

2. Coloque o código onde deseje que a mensagem seja exibida:
Código: Selecionar todos
<?php if ($this->customer->isLogged()) { ?>
Olá <strong><span class="asda"><?php echo $this->customer->getFirstName(); ?> <?php echo $this->customer->getLastName(); ?></strong></span>. Boas Compras!
<?php } ?>
3. Salve o arquivo e teste sua loja.

A segunda solução para o mesmo recurso é um pouco maior mais muito simples.

Vamos a segunda:

1. Localize e edite o arquivo "catalog/controller/common/header.php".

2. Procure pela linha:
Código: Selecionar todos
$this->id   = 'header';
3. Adicione o seguinte código após a linha citada anteriormente:
Código: Selecionar todos
if (!$this->customer->isLogged()) {
       $this->data['text_greeting'] = $this->language->get('text_greeting');
    } else {
       $this->load->model('account/customer');
       $customer_info = $this->model_account_customer->getCustomer($this->customer->getId());
       $this->data['text_greeting'] = sprintf($this->language->get('text_logged'), $customer_info['firstname']);
    }
    $this->data['text_create'] = $this->language->get('text_create');
    $this->data['text_account'] = $this->language->get('text_account');
    $this->data['create'] = $this->url->http('account/create');
    $this->data['account'] = $this->url->http('account/account');
4. Salve o arquivo e feche o arquivo.

5. Localize e edite o arquivo "catalog/language/portugues/common/header.php".

6. Procure pela linha:
Código: Selecionar todos
?>
7. Adicione o seguinte código antes da linha citada anteriormente:
Código: Selecionar todos
$_['text_greeting'] = 'Olá, <strong>Visitante</strong>';
$_['text_logged']    = 'Olá, <strong>%s</strong>';
$_['text_create']    = 'Registro';
$_['text_account']  = 'Conta';
8. Salve e feche o arquivo.

9. Localize e edite o arquivo "catalog/view/theme/SEUTEMA/template/common/header.tpl".

10. Procure pela linha:
Código: Selecionar todos
<div class="div4">
11. Adicione o seguinte código antes da linha citada anteriormente:
Código: Selecionar todos
<div class="welcome">
      <?php echo $text_greeting; ?>
      <?php if (!$logged) { ?>
        [ <a href="<?php echo $login; ?>"><?php echo $text_login; ?></a> ] [ <a href="<?php echo $create; ?>"><?php echo $text_create; ?></a> ]
      <?php } else { ?>
        [ <a href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a> ] [ <a href="<?php echo $account; ?>"><?php echo $text_account; ?></a> ]
      <?php } ?>
    </div>
12. Salve e feche o arquivo.

13. Localize e edite o arquivo "catalog/view/theme/SEUTEMA/stylesheet/stylesheet.css".

14. Adicione o seguinte código:
Código: Selecionar todos
#header .welcome {
    clear: both;
    margin: 10px 0px 10px 0px;
    text-align: right;
}
15. Salve, feche o arquivo e teste sua loja.

Pronto! Duas soluções para o mesmo recurso.

Re: [TUTORIAL] Mensagem de Boas Vindas e Nome do Cliente

Enviado: 08 Jan 2011, 15:00
por timeless
Fiz tudo de acordo com o 2° Tutorial,
mas o meu servidor está me voltando
a seguinte mensagem de erro:
Fatal error: Call to a member function http() on a non-object in /opencart/catalog/controller/common/header.php on line 184
O que pode ser??

Re: [TUTORIAL] Mensagem de Boas Vindas e Nome do Cliente

Enviado: 08 Jan 2011, 18:23
por timeless
Resolvido!!

Tirei do código os 2 https, e tá rodando normal aqui
com a parada de boas vindas e tudo!!

Não sei o que houve pra dar aquele erro!

Re: [TUTORIAL] Mensagem de Boas Vindas e Nome do Cliente

Enviado: 09 Jan 2011, 00:13
por Manoel Vidal
Olá timeless.

Desculpe esta respondendo só agora, mas vejo que você já resolveu o problema e aproveitando fiz a correção no tutorial.

Muito obrigado pelo feedback :D

Re: [TUTORIAL] Mensagem de Boas Vindas e Nome do Cliente

Enviado: 10 Jan 2011, 20:19
por rafaimaster
Complementando as soluções apresentadas pelo Manoel Vidal.
Uma terceira opção seria:
1 - Encontre e edite o arquivo: \catalog\view\theme\SEU TEMA\template\common\home.tpl
2 - Localize o seguinte código
Código: Selecionar todos
<h1><?php echo $heading_title; ?></h1>
3 - Substitua por:
Código: Selecionar todos
<h1>
    <?php if ($this->customer->isLogged()) { ?>
        OL&Aacute; <?php echo $this->customer->getFirstName(); ?> 
	<?php echo $this->customer->getLastName(); ?>. BOAS COMPRAS!
    <?php } else {?>
    <?php echo $heading_title; ?><?php } ?>
</h1>
4 - Salve e teste a loja;

Re: [TUTORIAL] Mensagem de Boas Vindas e Nome do Cliente

Enviado: 03 Fev 2011, 23:57
por Guilherme De Lucca
Não consegui fazer... alguém pode me dar um help heheheh

Re: [TUTORIAL] Mensagem de Boas Vindas e Nome do Cliente

Enviado: 04 Fev 2011, 17:15
por Manoel Vidal
Olá rafaimaster.

Valeu pela contribuição :D

Re: [TUTORIAL] Mensagem de Boas Vindas e Nome do Cliente

Enviado: 15 Mar 2011, 17:37
por EdelcioLennon
Olá caros amigos do OpenCart Brasil!

Deixo meu post aqui relacionado ao tutorial acima, realizei todos os procedimentos em ambos os 3 modelos e todos eles funcionaram perfeitamente, sendo que no item 3 do 2.º passo tive o mesmo problema que o Mauricio, onde retornou o mesmo erro, fiz a remoção conforme ele mencionou e perfeito, funcionou 101%.
Aproveito para parabenizá-los pelo excelente trabalho que ambos estão realizando neste fórum e neste projeto. Se eu puder ajudar de alguma forma coloco-me a disposição desde já.
Atenciosamente,

EdelcioLennon

Re: [TUTORIAL] Mensagem de Boas Vindas e Nome do Cliente

Enviado: 16 Out 2011, 03:20
por fhantasma
bela contribuição!

Re: [TUTORIAL] Mensagem de Boas Vindas e Nome do Cliente

Enviado: 03 Jan 2012, 23:32
por gnewton
Olá!

Estou querendo utilizar isso em meu site mas não consigo fazer nenhum dos dois jeitos passados.

O primeiro diz pra colar onde eu quero que apareça a mensagem. Eu quero que apareça no topo do lado direito, onde mostra que estou logado, mas não sei onde colar no header.tpl. Como faço?

Já o segundo não existe a primeira linha sugerida no header.php.

Ajuda por favor. brigado!