Página 1 de 2

Mostrar Quantidade Inserida no Carrinho no Próprio Produto

Enviado: 29 Nov 2019, 11:45
por Nil Yoshiro
Olá turma.
Venho mais uma vez pedir ajuda para vocês com mais esse abacaxi.
Gostaria de exibir no próprio produto a quantidade inserida no carrinho.
Exemplo:
Produto X foi inserido 10 qtde. no Carrinho, essa quantidade gostaria que fosse exibida no produto,seja na página do catálogo, pois caso o navegador seja fechado, ou tenha uma queda de energia, ou até mesmo o cliente não venha finalizar a compra no mesmo dia, gostaria que a quantidade ainda permanecesse e mostrasse no produto evitando assim que o cliente insira tudo de novo as quantidades, sem ter que acessar o histórico de compras.

Se alguém puder dar uma luz, agradeço. Muito obrigado!

Re: Mostrar Quantidade Inserida no Carrinho no Próprio Produto

Enviado: 29 Nov 2019, 13:15
por veteranodf
Olá; Não sei se é o que deseja mais se for exibir a quantidade na mensagem que é exibida ao adicionar o item ao carrinho deve alterar o arquivo catalog/controller/checkout/cart.php; Após a modificação deve acessar o menu extensões > modificações a clicar no botão atualizar;

Localize:
Código: Selecionar todos
$json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'language=' . $this->config->get('config_language') . '&product_id=' . $this->request->post['product_id']), $product_info['name'], $this->url->link('checkout/cart', 'language=' . $this->config->get('config_language')));
Substituir por
Código: Selecionar todos
$json['success'] = sprintf($this->language->get('text_success'), $this->url->link('product/product', 'language=' . $this->config->get('config_language') . '&product_id=' . $this->request->post['product_id']), $quantity.' UND - '.$product_info['name'], $this->url->link('checkout/cart', 'language=' . $this->config->get('config_language')));

Re: Mostrar Quantidade Inserida no Carrinho no Próprio Produto

Enviado: 29 Nov 2019, 16:37
por Nil Yoshiro
Olá.
Primeiramente muito obrigado pela vossa atenção.
Mas não seria bem isso que estou a resolver.
Meu problema se faz da seguinte forma:
O cliente faz seu login normalmente - Vai até o Catálogo do Produto que está querendo - Clica em Comprar - A compra vai para o carrinho (até aqui processo normal).
Agora que vem o abacaxi:
Após ele ter iniciado a compra gostaria que essa quantidade que ele comprou daquele produto (suponhamos que ele comprou 10 item do mesmo produto) fique aparecendo, por exemplo abaixo do preço desse produto - Exemplo: 10 itens inseridos.
Com se por um acaso o cliente fechar o Navegador, ou acabar a energia da casa dele.....quando ele voltar a se logar no site os mesmos 10 itens comprados estariam marcados no produto. Sem ele precisar ficar indo no Histórico e ver tudo que ele comprou e fazer tudo de novo.
Não sei se ficou claro minha explicação....mas é isso que estou quebrando a cabeça.
Mas mesmo assim agradeço novamente pela força.
Muito obrigado.

Re: Mostrar Quantidade Inserida no Carrinho no Próprio Produto

Enviado: 30 Nov 2019, 11:51
por veteranodf
Eu entendi sua necessidade, no nesse caso é algo mais complexo e necessita desenvolvimento, os passo que informei posteriormente utilizei funções nativas, solicito que contrate alguém para fazer o desejado;

Re: Mostrar Quantidade Inserida no Carrinho no Próprio Produto

Enviado: 01 Dez 2019, 05:28
por Nil Yoshiro
Obrigado. Realmente eu já estava pensando nisso.
Mas uma coisa, tem buscar o conteúdo do carrinho e exibi-lo em uma página? Por exemplo na página Catálogo dos produtos.
Anexei esse código "$this->session->data['cart']" em catalog\controller\product\category.php
Mas deu erro, então mudei para isso:
"$data['cart'] = $this->session->data['cart'];"
E agora está dando esse erro: Notice: Undefined index: cart
Ou posso usar esse código:
"$this->cart->getProducts();"
Mas não sei como processar em seguida em uma Array. :roll:

Re: Mostrar Quantidade Inserida no Carrinho no Próprio Produto

Enviado: 02 Dez 2019, 00:37
por veteranodf
Para resgatar os itens dentro do carrinho utilize o método $this->cart->getProducts();, caso desejar enviar a data do carrinho para o arquivo tpl faça dessa forma $data['cart'] = $this->cart->getProducts();; Como o controller "category.php" já faz um loop foreach nos produtos a serem listados na página o ideal é você comprar o product_id loop com o product_id dos produtos do carrinho, caso coincidir enviar o valor "quantidade_carrinho" no array "$data['products'][]" , assim pode resgatar o valor no tpl através de $product['quantidade_carrinho']

Re: Mostrar Quantidade Inserida no Carrinho no Próprio Produto

Enviado: 02 Dez 2019, 01:25
por Nil Yoshiro
Muito obrigado pelo retorno. Iluminou bem meu caminho, pois muitas dúvidas que eu tinha já foram resolvidas.
Porém como meu nível de conhecimento em PHP é baixo se não dizer MUITO BAIXO.....
O que está acontecendo....na hora que envio para "category.tpl" ele retorna a quantidade do produto e não a quantidade inserida no carrinho, ou por outra dá erro de Notice: Undefined variable - category.php e no category.tpl tbém.
Onde estou errando?

Re: Mostrar Quantidade Inserida no Carrinho no Próprio Produto

Enviado: 02 Dez 2019, 10:12
por veteranodf
Realmente sem conhecimento básico em PHP e opencart não irá progredir; Como é algo simples irei te passar passo a passo de como deve fazer para chegar ao resultado desejado;

O firewall WAF bloqueio eu postar o código aqui, então compactei o mesmo, baixe faça os passos informados;

Re: Mostrar Quantidade Inserida no Carrinho no Próprio Produto

Enviado: 02 Dez 2019, 13:52
por Nil Yoshiro
Muito obrigado pela ajuda.
Mas não querendo ser chato, mas já sendo.
Fiz os procedimentos, porém ao testar retornou vazio. Não imprimiu nada na tela.
Será que deixei algo escapar?

Re: Mostrar Quantidade Inserida no Carrinho no Próprio Produto

Enviado: 02 Dez 2019, 14:13
por veteranodf
A dica que te passei irá imprimir na tela caso o item estiver no carrinho, após adicionar ao carrinho não irá imprimir nada, para isso você você deve criar uma simples função jquery; Caso adicionar o item ao carrinho e da um f5 para atualizar a tela vai notar que imprime sim acima do valor que tanta quantidade esta adicionada ao carrinho; Se não aparecer no seu projeto é porque fez alguma coisa errada ou esqueceu de atualizar o ocmod no menu modificação;

Em todo caso o que te passei no zip esta funcionando perfeitamente, faça testes e faça melhorias para se adequar ao seu projeto; Boa sorte;