Página 1 de 1
Obter o ID do Usuário na header.tpl
Enviado: 21 Fev 2018, 11:27
por mariobyte
Bom dia,
Preciso obter o customer_id na header.tpl , estou fazendo desta forma :
No arquivo /catalog/controller/common/header.php coloquei assim :
$data['customer_id'] = $this->customer->getId();
No arquivo /catalog/view/theme/globethm/template/common/header.tpl coloquei desta forma :
<?php echo $customer_id ; ?>
E sempre apresenta que a variavel customer_id não foi definida.
Alguém pode me dar uma dica onde estou errando por favor.
Re: Obter o ID do Usuário na header.tpl
Enviado: 21 Fev 2018, 17:18
por veteranodf
Acontece de aparecer não definida pois o cliente não esta logado na loja, você deve fazer uma checagem para da o echo, da forma abaixo irá funcionar;
No controller
Código: Selecionar todos$data['customer_id'] = !empty($this->customer->getId())?$this->customer->getId():'';
No tpl
Re: Obter o ID do Usuário na header.tpl
Enviado: 21 Fev 2018, 17:25
por leandrorppo
Desenvolvi um xml que resolverá a questão:
Código: Selecionar todos<modification>
<name><![CDATA[<font color="#000"><b>Id Cliente</b></font>]]></name>
<code>Manuella-Id Cliente</code>
<version><![CDATA[<b>1.0</b>]]></version>
<author><![CDATA[<font color="#CC0000"><b>Leandro R.P.P.O</font>]]></author>
<link><![CDATA[http://www.swad.com.br]]></link>
<file path="catalog/controller/common/header.php">
<operation>
<search><![CDATA[
$data['cart'] = $this->load->controller('common/cart');
]]></search>
<add position="after"><![CDATA[
if ($this->customer->isLogged()) {
$data['customer_id'] = $this->customer->getId();
}
]]></add>
</operation>
</file>
<file path="catalog/view/theme/*/template/common/header.tpl">
<operation error="skip">
<search><![CDATA[
<div id="top-links" class="nav pull-right">
]]></search>
<add position="after" ofsset="1"><![CDATA[
<?php if ($logged) { ?>
<?php echo $customer_id; ?>
<?php } ?>
]]></add>
</operation>
</file>
</modification>
Só copiar o conteúdo, colocar no bloco de notas ou outro editor de texto de sua preferência, logo após, salvar como: id_cliente.ocmod.xml.
Aí é só instalar normalmente como qualquer modificação.
É sempre bom realizar modificações através de xml, evita mexer diretamente nos arquivos, qualquer atualização, retorno de backup, etc, não perderá as alterações porque estará salvo o xml.
Re: Obter o ID do Usuário na header.tpl
Enviado: 22 Fev 2018, 01:13
por mariobyte
Coloquei da forma que o Veterano sugeriu e continua o mesmo erro :
Notice: Undefined variable: customer_id in
Re: Obter o ID do Usuário na header.tpl
Enviado: 22 Fev 2018, 10:49
por mariobyte
Leandro,
Instalei no Opencart , não deu nenhum erro, mas não teve nenhuma alteração no site, o quê preciso é colocar um botão no Header, apontando para um link , passando como parâmetro o customer_id :
<?php echo '<button type=' . '"button "' . ' onclick="' . "window.open('
http://cortex-sc9.dyndns.org/cortex_pro ... d_usuario=" . $data['$customer_id'] . "'" . ' )"' . ">Acesso Parceiro!</button>" ; ?>
Temo como colocar isto no XML ?
Re: Obter o ID do Usuário na header.tpl
Enviado: 22 Fev 2018, 10:50
por mariobyte
Coloquei da forma que citou, mas continua dando o mesmo erro.
Re: Obter o ID do Usuário na header.tpl
Enviado: 22 Fev 2018, 14:59
por valdeir2000
mariobyte escreveu: ↑22 Fev 2018, 01:13
Coloquei da forma que o Veterano sugeriu e continua o mesmo erro :
Notice: Undefined variable: customer_id in
Se possível poste seu código atualizado no pastebin.com e depois poste o link aqui.
Se possível coloque antes do
e após toda alteração acesse o painel de controle > extensions > modification e clique em refresh.
Re: Obter o ID do Usuário na header.tpl
Enviado: 22 Fev 2018, 15:38
por mariobyte
Valdeir,
Grato demais a você , Leandro e VeteranoDF,
Não tinha dado o refresh na tela de modificações, após fazer isto funcionou perfeitamente.
Re: Obter o ID do Usuário na header.tpl
Enviado: 23 Fev 2018, 00:57
por leandrorppo
De nada, o script que coloquei na postagem testei antes. Está funcional.
Fico feliz que tenha dado certo, boa sorte.