Fórum OpenCart Brasil

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

Se precisar de algum trabalho comercial e gostaria de pagar, então você pode postar seus pedidos aqui.
Avatar do usuário
Por reds
Mensagens Especiais
#77468
Pessoal,

Preciso criar um data layer no carrinho, alguma alma boa para uma dica?

Eu ja puxei as variáveis que preciso, por fim não sei escrever um script para que o google tagmanager capte tais dados.
Alguem com uma ajudua?
No caso ele precisa sempre adicionar um item na lista.

NO exemplo:
Código: Selecionar todos
<!-- datalayer exemplo //-->
<script>
	dataLayer = [{
		'ecomm_pagetype': 'cart',
		'products': [
			{
				'ecomm_prodid': '<?php echo $product['product_id']; ?>',
				'ecomm_totalvalue': '<?php echo $product['price']; ?>'
			},
		]
	}];
</script>
Agradeço as dicas!

:ugeek:
Por veteranodf
Mensagens Especiais
#77477
Veja se auxilia, acesse o arquivo catalog/controller/checkout/cart.php, adicione as linhas abaixo acima de $this->response->setOutput($this->load->view('checkout/cart', $data));
Código: Selecionar todos
			$datalayer = array();
			
			foreach  ($this->cart->getProducts() as $data_product)  {
				$datalayer[] = array('ecomm_prodid' => $data_product['product_id'], 'ecomm_totalvalue' => $data_product['price']);
			}
			
			$data['datalayer'] = json_encode($datalayer);
Agora no javascript
Código: Selecionar todos
<!-- datalayer exemplo //-->
<script>
	dataLayer = [{
		'ecomm_pagetype': 'cart',
		'products':<?php echo $datalayer; ?>
	}];
</script>
Manoel Vidal, reds gostou disso
Avatar do usuário
Por reds
Mensagens Especiais
#77490
veteranodf escreveu:Veja se auxilia, acesse o arquivo catalog/controller/checkout/cart.php, adicione as linhas abaixo acima de $this->response->setOutput($this->load->view('checkout/cart', $data));
Código: Selecionar todos
 $datalayer = array();
 
 foreach ($this->cart->getProducts() as $data_product) {
 $datalayer[] = array('ecomm_prodid' => $data_product['product_id'], 'ecomm_totalvalue' => $data_product['price']);
 }
 
 $data['datalayer'] = json_encode($datalayer);
Agora no javascript
Código: Selecionar todos
<!-- datalayer exemplo //-->
<script>
 dataLayer = [{
 'ecomm_pagetype': 'cart',
 'products':<?php echo $datalayer; ?>
 }];
</script>
Obrigado meu amigo pela ajuda, vou testar hoje para ver se ele pega!
:D
Por veteranodf
Mensagens Especiais
#77499
OK @reds , aguardo o feedback informando o resultado, acho que dará certo pois o array js esta sendo criado seguindo o padrão que você postou, você só terá que melhorar a impressão do preço, faça uma função para checar se o produto esta na promoção;

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 […]