Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v3.x.
Por Deco
#86641
Galera, primeiramente boa tarde :smiley:

Na página :
https://paolaconstance.com.br/loja/sand ... ul-marinho

No input onde o cliente seleciona a quantidade que quer comprar, quero permitir adicionar ao carrinho somente a quantidade máxima aquele sku tem, por ex:

Sapato X tamanho 35 tem 10 pares, quero permitir que o cliente adicione somente até 10 pares que é o máximo de estoque.

Criei um JQuery básico que faz isso, no meu navegador rodou beleza, mas devido à incompatibilidades cross browser, percebi que mesmo no firefox em outras versões não estava funcionando.

Código abaixo:
Código: Selecionar todos
$("input#input-quantity").attr("disabled", "disabled");
$input_quantity = $("#input-quantity");
$option = $(".quantidade_disponivel");

$option.on('click', function(event) {

$maximum_quantity = $(event.target);
$max = $maximum_quantity.attr("name");
//console.log($max);
$input_quantity.attr("max", $max);

if($max.value !== "") {
  $("input#input-quantity").removeAttr("disabled");
  }
});
Ate mesmo tentei um javascript puro, porém o mesmo acontece.

Código abaixo:
Código: Selecionar todos
var option = document.querySelectorAll(".quantidade_disponivel");
var input_quantity = document.getElementById("input-quantity");
input_quantity.setAttribute("disabled", "disabled");

for(i = 0; i < option.length; i++){
  option[i].onclick = function(event){
  input_quantity.removeAttribute("disabled");
  var option_value = event.target.attributes.name.value;
  console.log(option_value);
  console.log(input_quantity.value);
  input_value = input_quantity.value;
  }
}
Tem como fazer isso de uma forma mais fácil, sem js ou jquery, ou alguém tem alguma idéia do que eu possa fazer.

Obs: Não quero colocar no elemento input o atributo max="x" por exemplo, quero fazer conforme o total disponível do produto.

Obrigado,
André:smiley:
Por Deco
#86650
Boa tarde pessoal :smiley:

O que pretendo é colocar dentro do atributo max a quantidade máxima que determinado sku tem:
Código: Selecionar todos
<input type="number" name="quantity" value="{{ minimum }}" min="{{ minimum }}" max="{{ quantidade_maxima }}" size="2" id="input-quantity" class="form-control" />

Obrigado,
André :smiley:
#86654
Se você for vender no varejo essa prática é abusiva; Agora se a venda estiver amarrada a pessoas jurídicas com CNPJ válido é possível;

Art. 39. É vedado ao fornecedor de produtos ou serviços, dentre outras práticas abusivas: (Redação dada pela Lei nº 8.884, de 11.6.1994)
II - recusar atendimento às demandas dos consumidores, na exata medida de suas disponibilidades de estoque, e, ainda, de conformidade com os usos e costumes;
Por Deco
#86657
Olá galera espero que estejam bem :smiley:

@veteranodf obrigado pela resposta.

Tinha visto a respeito do artigo que você nos citou acima, o meu cliente tem CNPJ ativo, o que apenas quero colocar, que seria uma coisa lógica é, por exemplo:

Eu tenho um produto no meu estoque (produto X), este mesmo produto tem 100 unidades, se o cliente quiser comprar todos disponíveis ele comprará, o que quero evitar e que também já pude ver em outras lojas online é que em alguns inputs (text) por exemplo ele poderá colocar mais do que a quantidade disponível que no caso seria 100 no exemplo, quero apenas no meu input do tipo number colocar o atributo max com o máximo de itens que aquele produto tem em estoque, justamente pra evitar este problema.

Isto que estou querendo implementar na loja seria proibido?

Obrigado novamente pela resposta,

André :smiley:

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