Página 1 de 1

Limitar quantidade de produto por cliente

Enviado: 02 Abr 2017, 15:38
por Antena
Alguém sabe me informar se é possível limitar a quantidade de compras de um produto por cliente?

Ex: preciso que cada cliente seja permitido comprar apenas 3 unidades de qualquer produto pro pedido.

Utilizo a versão 2.1.0.2

Desde já agradeço a atenção de todos.

Re: Limitar quantidade de produto por cliente

Enviado: 02 Abr 2017, 18:00
por Smagicas
Olá Antena,

Dá uma olhadinha neste tópico:

viewtopic.php?t=14179

Re: Limitar quantidade de produto por cliente

Enviado: 02 Abr 2017, 18:12
por Antena
Smagicas escreveu:Olá Antena,

Dá uma olhadinha neste tópico:

viewtopic.php?t=14179
Olá Smagicas,
Obrigado por responder, mas minha dúvida é sobre modificação no script. As leis brasileiras aplicam-se para sites brasileiros.

Embora, mesmo que a lei exista, acredito que poucos sites apliquem. Acabei de acessar o site do EXTRA e fiz um teste para comprovar o que lhe digo:
Imagem

Todavia, obrigado pelo alerta.

Re: Limitar quantidade de produto por cliente

Enviado: 02 Abr 2017, 18:20
por Smagicas
Ok, veja se este módulo serve para o que você quer:

https://www.opencart.com/index.php?rout ... =41&page=3

Se ler os comentários verá que ele funciona até a versão 2.3 mas precisa adaptar uma linha, veja lá.

Re: Limitar quantidade de produto por cliente

Enviado: 02 Abr 2017, 18:56
por Antena
Smagicas escreveu:Ok, veja se este módulo serve para o que você quer:

https://www.opencart.com/index.php?rout ... =41&page=3

Se ler os comentários verá que ele funciona até a versão 2.3 mas precisa adaptar uma linha, veja lá.

Obrigado novamente, Smagicas. Sempre apto a tentar ajudar.
Funcionou bem, apenas com uma ressalva: na página do produto se inserir quantidade superior a desejada, no caso 3, e clicar em comprar o produto sequer é adicionado ao carrinho de compra, sem qualquer mensagem.

Sabes se há como mudar o format de escolha de quantidade, tipo um dropdown com o limite para não perder vendas?

Re: Limitar quantidade de produto por cliente

Enviado: 02 Abr 2017, 19:41
por Smagicas
Oi, que bom que deu certo. Quanto a colocar um aviso de erro tente ver se no próprio script do módulo tem como chamar uma tarja de erro indicando a quantidade máxima. Caso não consiga você pode facilmente colocar um texto acima do botão de comprar no script product.tpl informando algo como por exemplo "Botão ativo apenas até 3 unidades", pode ser um texto vermelho ou negrito, nesse caso mesmo que o cliente passe despercebido mas ao clicar e não adicionar os produtos ele vai ficar atento e ler o texto, o que acha?

Re: Limitar quantidade de produto por cliente

Enviado: 02 Abr 2017, 20:10
por Antena
Smagicas escreveu:Oi, que bom que deu certo. Quanto a colocar um aviso de erro tente ver se no próprio script do módulo tem como chamar uma tarja de erro indicando a quantidade máxima. Caso não consiga você pode facilmente colocar um texto acima do botão de comprar no script product.tpl informando algo como por exemplo "Botão ativo apenas até 3 unidades", pode ser um texto vermelho ou negrito, nesse caso mesmo que o cliente passe despercebido mas ao clicar e não adicionar os produtos ele vai ficar atento e ler o texto, o que acha?

Conseguir colocar um menu drop down funcionando, mas estou apanhando no css. Fican quase ilegível.
Vou quebrar a cabeça aqui e caso resolva postarei o código aqui.

O código para o drop down é este:

/catalog/view/theme/default/template/product/product.tpl

Encontrar
Código: Selecionar todos
<input type="text" name="quantity" size="3" value="<?php echo $minimum; ?>" />
Mudar para
Código: Selecionar todos
<select name="quantity">
  <option value="<?php echo $minimum; ?>"><?php echo $minimum; ?></option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

Re: Limitar quantidade de produto por cliente

Enviado: 02 Abr 2017, 21:30
por Antena
Antena escreveu:
Smagicas escreveu:Oi, que bom que deu certo. Quanto a colocar um aviso de erro tente ver se no próprio script do módulo tem como chamar uma tarja de erro indicando a quantidade máxima. Caso não consiga você pode facilmente colocar um texto acima do botão de comprar no script product.tpl informando algo como por exemplo "Botão ativo apenas até 3 unidades", pode ser um texto vermelho ou negrito, nesse caso mesmo que o cliente passe despercebido mas ao clicar e não adicionar os produtos ele vai ficar atento e ler o texto, o que acha?

Conseguir colocar um menu drop down funcionando, mas estou apanhando no css. Fican quase ilegível.
Vou quebrar a cabeça aqui e caso resolva postarei o código aqui.

O código para o drop down é este:

/catalog/view/theme/default/template/product/product.tpl

Encontrar
Código: Selecionar todos
<input type="text" name="quantity" size="3" value="<?php echo $minimum; ?>" />
Mudar para
Código: Selecionar todos
<select name="quantity">
  <option value="<?php echo $minimum; ?>"><?php echo $minimum; ?></option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

Smagicas ,

Acabei de notar que na modificação também constava com a informação para a página do produto, porém como só constava para o template "default" não aparecia no meu template. Problema resolvido adicionando o código abaixo ao XML:
Código: Selecionar todos
	<file name="catalog/view/theme/nome_do_seu_template/template/product/product.tpl">
        <operation>
            <search position="before"><![CDATA[
<?php if ($minimum > 1) { ?>
            ]]></search>
            <add><![CDATA[
        <?php if ($maximum ) { ?>
        <div class="alert alert-info"><i class="fa fa-info-circle"></i> <?php echo $text_max_qty; ?></div>
        <?php } ?>
            ]]></add>
        </operation>

        <operation>
            <search position="before"><![CDATA[
if (json['error']) {
            ]]></search>
            <add><![CDATA[
			if (json['error']) {
				if (json['error']['warning']) {
				
					$('.breadcrumb').after('<div class="alert alert-danger">' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');
				
					$('.warning').fadeIn('slow');
					
					$('input[name=\'quantity\']').after('<div class="alert alert-danger">' + json['error']['warning'] + '</div>');
				}
			}	 
            ]]></add>
        </operation>
	</file>
	
Muda a parte onde~consta "nome_do_seu_template"

Re: Limitar quantidade de produto por cliente

Enviado: 03 Abr 2017, 09:52
por Smagicas
Olá,

É, na verdade são dois pontos que antes de instalar uma modificação ou módulo é bom a gente ficar atento, uma é isso que você citou, alguns desenvolvedores colocam um "*" asterisco ao invés de "default" aí fica resolvido que serve para todos. Outro detalhe é o idioma, eu sempre olho antes de instalar porque a pasta geralmente vem "english" e ás vezes a gente não entende porque está dando problemas, então eu sempre renomeio para "portuguese-br" antes de instalar que é o idioma que uso.

Fico contente por ter dado certo e resolvido o problema.