Jump to content

Recommended Posts

Olá,

 

Estou desenvolvendo uma loja para atacado.

E para que funcione corretamente(sem custos), tive que alterar inúmeras coisas.

Uma das alterações foi:

 

Esta loja terá apenas como forma de pagamento, o boleto bancário. 

Porém tem alguns requisitos:

* mínimo para compras de R$1.000,00 reais.

* à cvista = 9% de desconto.

* 30 dias = 8% de desconto.

* 30/60 = 7% de desconto.

* 30/60/90 = 6% de desconto.

Ou seja somente em até 3 vezes com parcela mínima de R$1.000,00 reais.

Outra questão é que realizado pelo usuário apenas o Pedido, ou seja,

O Boleto será gerado manualmente pela empresa após validação dos dados informados

Pelo cliente, e repassados a ele quando aprovado.

 

Resumindo, este módulo informa o valor de acordo com o prazo de parcelamento,

Informa ao cliente para selecionar uma destas formas, captura as informações do cliente e mostra

No painel de controle para aprovação do cadastro.

 

Para isto, tive que alterar um módulo já existente, o creditcard.

segue algumas alterações que fiz para fazer os cálculos:

{foreach key=key from=$bandeira.parcelas item=parcela name=parcelasdiscovery}
    
{if $total < 1100}{l s='Seu pedido minimo de ser maior de R$ 1.100,00 reais'}
{elseif ($total > 1100) AND ($total < 2200)}  
  <div id="corpo" class="parcelamento">
  <span class="corpo parcela "> 
  <input type="radio" name="cardParcels" id="cardParcels" value="{if $key === 1}{$parcela.1 = $parcela.2 - ($parcela.2 * 10 / 100)}{elseif $key === 2}
  {$parcela.1 = ($parcela.2 - ($parcela.2 * 8 / 100)) / 2}{elseif $key === 3}{$parcela.1 = ($parcela.2 -($parcela.2 * 6 / 100))/3}{/if}{if $key === 1}{$parcela.2 = $parcela.2 - ($parcela.2 * 10 / 100)}{elseif $key === 2}{$parcela.2 = $parcela.2 - ($parcela.2 * 8 / 100)}{elseif $key === 3}{$parcela.2 = $parcela.2 -($parcela.2 * 6 / 100)}{/if}{$parcela.0} x {$parcela.1} =R${$parcela.2}" {if $smarty.foreach.parcelasdiscovery.first}checked="checked"{/if}/>  {$parcela.0} x R$ {$parcela.1} {if $key === 1}<span style="float:right;">Com 10% de desconto</span>{/if}</span>
  <span class="corpo valor ">= R$ {$parcela.2}</span>
  {if ($key) eq 1}{break}{/if}
  
{elseif ($total > 2200) AND ($total < 3300)}  
  <div id="corpo" class="parcelamento">
  <span class="corpo parcela "> 
  <input type="radio" name="cardParcels" id="cardParcels" value="{if $key === 1}{$parcela.1 = $parcela.2 - ($parcela.2 * 10 / 100)}{elseif $key === 2}
  {$parcela.1 = ($parcela.2 - ($parcela.2 * 8 / 100)) / 2}{elseif $key === 3}{$parcela.1 = ($parcela.2 -($parcela.2 * 6 / 100))/3}{/if}{if $key === 1}{$parcela.2 = $parcela.2 - ($parcela.2 * 10 / 100)}{elseif $key === 2}{$parcela.2 = $parcela.2 - ($parcela.2 * 8 / 100)}{elseif $key === 3}{$parcela.2 = $parcela.2 -($parcela.2 * 6 / 100)}{/if}{$parcela.0} x {$parcela.1} =R${$parcela.2}" {if $smarty.foreach.parcelasdiscovery.first}checked="checked"{/if}/>  {$parcela.0} x R$ {$parcela.1} {if $key === 1}<span style="float:right;">Com 10% de desconto</span>{elseif $key === 2}<span style="float:right;">Com 8% de desconto</span>{/if}</span>
  <span class="corpo valor ">= R$ {$parcela.2}</span>{if ($key) eq 2}{break}{/if}
  {elseif $total > 3300}
  <div id="corpo" class="parcelamento">
  <span class="corpo parcela "> 
  <input type="radio" name="cardParcels" id="cardParcels" value="{if $key === 1}{$parcela.1 = $parcela.2 - ($parcela.2 * 10 / 100)}{elseif $key === 2}
  {$parcela.1 = ($parcela.2 - ($parcela.2 * 8 / 100)) / 2}{elseif $key === 3}{$parcela.1 = ($parcela.2 -($parcela.2 * 6 / 100))/3}{/if}{if $key === 1}{$parcela.2 = $parcela.2 - ($parcela.2 * 10 / 100)}{elseif $key === 2}{$parcela.2 = $parcela.2 - ($parcela.2 * 8 / 100)}{elseif $key === 3}{$parcela.2 = $parcela.2 -($parcela.2 * 6 / 100)}{/if}{$parcela.0} x {$parcela.1} =R${$parcela.2}" {if $smarty.foreach.parcelasdiscovery.first}checked="checked"{/if}/>  {$parcela.0} x R$ {$parcela.1} {if $key === 1}<span style="float:right;">Com 10% de desconto</span>{elseif $key === 2}<span style="float:right;">Com 8% de desconto</span>{elseif $key === 3}<span style="float:right;">Com 6% de desconto</span>{/if}</span>
  <span class="corpo valor ">= R$ {$parcela.2}</span>{if ($key) eq 3}{break}{/if}
  {/if}
  <div class="clear"></div>

	{if ($key) eq $bandeira.dividir OR $smarty.foreach.parcelasdiscovery.last}
</div>
	{/if}
{/foreach}
... 

Está funcionando certo, porém, na tela de compras do cliente no admin, está aparecendo o valor total 

sem o desconto. E também está enviando no e-mail, o valor sem o desconto.

 

A pergunta é:

Como posso passar o valor que calculo no módulo para o carrinho?

Ou como passo o valor do desconto para o desconto do carrinho, para que calcule automaticamente?

 

Desculpe se não fui claro...

Link to comment
Share on other sites

Ok,

 

Sei que seria a forma correta para fazer, mas como não tenho experiencia, foi o que consegui.

Mas os overrides são apenas uma classe estendida do módulo, é isso?

Se for, isso resolve o problema de atualizações, mas não o da questão 

do valor no carrinho.

 

Quando fizer atualizações, basta copiar a pasta do módulo que estará certo(desde que o módulo seja compatível, é claro).

 

Acontece que esta será a única forma de pagamento que a loja aceitará.

Então, como setar a variavel do carrinho com o valor total do módulo?

Link to comment
Share on other sites

Não existe uma variável global para isso. Os descontos são incluídos por cupons ou diretamente no banco de dados.

Existem funções da classe Cart:

Cart::addCartRule();
Cart::getCartRules();

Porque não adquire um módulo pronto? Você provavelmente terá muito trabalho desenvolvendo uma solução.

 
Acredito que este módulo pode atender à sua necessidade: 

 

Boa sorte

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...