Página 1 de 1

Botão "Add to cart" redirecionar para outro site/link externo

Enviado: 20 Ago 2017, 23:58
por ng2kevin
Pessoal, boa noite

Abri um site com opencart, porém as vendas não serão feitas por ele. O site é só para marketing, então, gostaria que cada produto tivesse um botão "add to cart" com link personalizado, para o redirecionamento

Exemplo: Produto 1 - Ao ser clicado, o botão "add to cart" levaria o cliente para o site: exemplo.com/produto1
E assim em diante

Alguma ideia de como posso fazer isso?
Obrigado

Re: Botão "Add to cart" redirecionar para outro site/link externo

Enviado: 21 Ago 2017, 08:10
por reds
Ola @ng2kevin

A diversas formas para fazer isso, você pode tentar usando algo abaixo
https://www.opencart.com/index.php?rout ... h=redirect

:ugeek:

Re: Botão "Add to cart" redirecionar para outro site/link externo

Enviado: 21 Ago 2017, 09:02
por ng2kevin
Oi Reds
As extensões que fazem o que eu preciso são todas pagas... Como ainda não estou vendendo nada, gostaria de uma solução mais barata ou que eu mesmo pudesse fazer

Meu orçamento está bem limitado por enquanto

Re: Botão "Add to cart" redirecionar para outro site/link externo

Enviado: 21 Ago 2017, 15:57
por veteranodf
Fiz um pequeno script, siga os passos que fará o que deseja, o link deve ser informado no campo "Localização" na admin do produto, deve começar com "http://www ou https://www", lembre de atualizar as modificações após editar os arquivos;

Abra o arquivo catalog/controller/checkout/cart.php
Localize:
Código: Selecionar todos
		$product_info = $this->model_catalog_product->getProduct($product_id);
Adicione abaixo:
Código: Selecionar todos
		if(preg_match('/http|https|www/i', $product_info['location'])){
			$json['link_externo']  = true;
			$json['link_redirect'] = trim($product_info['location']);		
			$this->response->addHeader('Content-Type: application/json');
			$this->response->setOutput(json_encode($json));
		}

Abra o arquivo catalog/view/javascript/common.js
Localize:
Código: Selecionar todos
				$('.alert, .text-danger').remove();
Adicione abaixo:
Código: Selecionar todos
				if (json['link_externo'] && json['link_redirect']) {
					window.open(json['link_redirect']);
					return false;
				}

Abra o arquivo catalog/view/theme/default/template/product/product.tpl
Localize:
Código: Selecionar todos
			$('.form-group').removeClass('has-error');
Adicione abaixo:
Código: Selecionar todos
			if (json['link_externo'] && json['link_redirect']){
				window.open(json['link_redirect']);
				return false;
			}}

Re: Botão "Add to cart" redirecionar para outro site/link externo

Enviado: 22 Ago 2017, 23:20
por ng2kevin
Oi VeteranoDF,

Desculpe demorar pra responder, só pude testar hoje.

Infelizmente não deu certo. Fiz exatamente como você citou... Alterei os códigos, atualizei as modificações e informei os links http ou https no campo "location" em "data" nas paginas de produtos.

Este é o link dos arquivos já modificados: http://www38.zippyshare.com/v/XfifM6gV/file.html
E este dos arquivos originais: http://www18.zippyshare.com/v/hFXepfiI/file.html

Pode, por favor, verificar se fiz algo de errado?

OBS: No arquivo "product", utilizei a pasta do meu tema e não "default" no caminho para o arquivo. Creio que esteja correto

Agradeço desde já!

Re: Botão "Add to cart" redirecionar para outro site/link externo

Enviado: 26 Ago 2017, 12:19
por veteranodf
Não tenho como analisar seus arquivos, como utiliza um tema que não é o default deve ver quais funções javascript e php que são responsáveis por adicionar o item ao carrinho e fazer a modificação nesses arquivos; Obs: não faça as modificações no tema default pois não vai rodar;