Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#71180
Estou tentando fazer a integração de meu site http://wimza.com.br com o Google Avaliações do Consumidor (https://support.google.com/merchants/an ... t-BR#optin, porém estou tendo alguma dificuldade. Faço a integração como indicado no link porém não consigo que a mensagem para o cliente fique correta, indicando o email para o qual o google vai enviar a pesquisa de satisfação.

Alguém sabe o que preciso fazer?

Segue o código que inseri no site
Código: Selecionar todos
<script>
  window.renderOptIn = function() {
    window.gapi.load('surveyoptin', function() {
      window.gapi.surveyoptin.render(
        {
          "merchant_id": 0000000,
          "order_id": "<?php echo $order_id ?>",
          "email": " <?php echo $email_address ?> ",
          "delivery_country": "<?php echo $user_country ?>",
          "estimated_delivery_date": "2016-00-00"
        });
    });
  }
</script>

<!-- BEGIN GCR Language Code -->
<script>
  window.___gcfg = {
    lang: 'pt_BR'
  };
</script>
<!-- END GCR Language Code -->
Somente alterei o merchant_id para a postagem.

E o erro apresentado no site

Imagem

Meu opencart é 1.5.6.3 e utilizo o tema Journal.

Sou amador, somente administro minha loja e por isto às vezes tenho dificuldades. Aguardo ajuda.
Desde já agradeço.
#71190
Olá @wimza.

Bem legal esse sistema do Google, sinceramente não conhecia.

No seu caso, o problema é que, apesar de você está corretamente tentando indicar o e-mail do cliente no arquivo do tema (tpl), você não está setando o e-mail do cliente no arquivo controller do tema.

Faça o seguinte, no arquivo:
catalog/controller/checkout/success.php

Antes da linha abaixo:
Código: Selecionar todos
if (isset($this->session->data['order_id'])) {
Coloque o código abaixo:
Código: Selecionar todos
		$this->load->model('account/customer');
		$customer = $this->model_account_customer->getCustomer($this->customer->isLogged());
		$this->data['email_address'] = $customer['email'];
Salve as alterações no arquivo, e teste novamente.

Importante:
O OpenCart foi desenvolvido utilizando o modelo de camadas MVC, em resumo, se você não setar a informação nos arquivos controller, as informações não vão aparecer nos arquivos View (tema).

Observação:
Os códigos do Google devem ficar no arquivo:
catalog/view/theme/PASTA_DO_SEU_TEMA/template/common/success.tpl

Espero ter ajudado. :)
Avatar do usuário
Por wimza
#71196
Realizei as alterações conforme indicado e nada aconteceu, mas creio que o sistema do google que não está funcionando no momento, vou realizar novo teste mais tarde.

Desde já obrigado pela ajuda.
#71197
Não esqueça que após qualquer modificação nos arquivos do OpenCart, na administração da loja, você deve acessar o menu Extensões->Modificações, e clicar no botão Atualizar (cor azul), para atualizar o cache de modificações nos arquivos.

Espero ter ajudado. :)
Avatar do usuário
Por wimza
#71200
Imagino que não. Até gostaria de atualizar para uma versão mais recente, mas tenho tantas pequenas modificações no site que não sei se valeria a pena, muita coisa pararia de funcionar.
#71218
Vale a pena sim, faça um projeto a médio prazo, instale a versão nova em um local separado e aos poucos comece a estudá-la e adaptar suas modificações nela, tenho certeza que não vai se arrepender. :)
Por Ribas
#73655
Manoel pode me ajudar?

Eu coloquei o código que tu diz ali no catalog/controller/checkout/success.php

porém dá esse erro quando finaliza o pedido com sucesso no topo da loja:

Notice: Indirect modification of overloaded property ControllerCheckoutSuccess::$data has no effect in /home/termogenico/public_html/catalog/controller/checkout/success.php on line 7
Plugg.to

Alguém utiliza esta plataforma ? Funciona […]

Ola @Solidcart Dependendo do modulo que vai uti[…]

Ola @alex3257 Isso é totalmente possivel[…]

Ola @felipesujf Se você extrai os arquiv[…]