Página 1 de 1

Fechar pedido com apenas um produto

Enviado: 29 Mai 2016, 02:14
por LKWilliam
Boa noite, gostaria de saber se há algum meio de alterar a loja para poder comprar apenas um produto por vez?

Ex: Um cliente escolhe um produto, ele ja deveria efetuar o pagamento e para comprar outro produto teria que efetuar uma nova compra, é possivel? versão do meu opencart é 2.2.0.0

Desde já obrigado :)

Re: Fechar pedido com apenas um produto

Enviado: 29 Mai 2016, 13:58
por Manoel Vidal
Olá.

Dei uma boa procurada no opencart.com, mas não achei nada neste sentido, de força a compra de um por vez, o máximo que vi foram botões de comprar agora, do tipo que o cliente ao clicar em comprar, é direcionado para a finalização do pedido, porém, nada o impede de sair da finalização e continuar comprando e adicionando mais itens no carrinho.

Creio que só com modificações na loja para restringir o carrinho a armazenar apenas um item por vez.

Espero ter ajudado. :)

Enviado: 30 Mai 2016, 09:47
por valdeir2000
1. Abra o arquivo catalog/controller/checkout/cart.php
2. Adicione o código abaixo depois de public function add() {.
Código: Selecionar todos
if ($this->cart->hasProducts()) {
  $json['error'] = 'Só é possível comprar 1 produto por vez.';
}
3. Adicione o código abaixo antes de if (isset($this->request->post['product_id'])) {.
Código: Selecionar todos
if ($quantity != 1) {
  $json['error'] = 'Só é possível comprar 1 produto por vez.';
}
4. Abra o arquivo catalog/view/theme/*/template/product/product.tpl
5. Procure por name="quantity" value="<?php echo $minimum; ?>" e altere para
Código: Selecionar todos
name="quantity" value="<?php echo $minimum; ?>" disabled
Não testei, mas deve funcionar.


---------------------
Edit: Correção do tutorial
---------------------

Re: Fechar pedido com apenas um produto

Enviado: 30 Mai 2016, 16:46
por LKWilliam
Muito obrigado pela atenção a todos

valdeir2000 fiz conforme explicou, porem não deu certo, eu consigo adicionar qualquer produto ainda sem avisar ou bloquear

Re: Fechar pedido com apenas um produto

Enviado: 31 Mai 2016, 11:05
por valdeir2000
LKWilliam escreveu:Muito obrigado pela atenção a todos

valdeir2000 fiz conforme explicou, porem não deu certo, eu consigo adicionar qualquer produto ainda sem avisar ou bloquear
Desculpe-me, acabei errando a linha. Ao invés de add o código do passo 2 após public function add() {, adicione após antes de if (isset($this->request->post['product_id'])) { e depois de $json = array(); (Ele tem que ficar no meio).

Aproveite o FTP aberto e abra o arquivo catalog/view/theme/*/template/product/product.tpl > Procure por $('.text-danger').parent().addClass('has-error'); e antes dessa linha adicione o código abaixo.
Código: Selecionar todos
$('.breadcrumb').after('<div class="alert alert-danger">' + json['error'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');