Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Simulador Parcelas
 
jeancfl
Jr. Member
 
Total Posts:  5
Joined:  2013-01-28
 

Pessoal estou com um problema.

Peguei este código de parcelamento aqui no forum, e ele é muito bom porem na minha loja virtual uso Magento + Bcash, e no caso do Bcash a taxa de parcelamento é fixa (5.39%) sendo para o valor total, e não por parcela.

Sendo assim colocando a taxa 5.39, as parcelas ficam muito maiores, pois estão calculando por mes e não aplicando os 5.39% em cima do valor total do produto:

Segue o meu código:

<table style="font-size:11px">
    <
caption><strong>Cart&atilde;o de Cr&eacute;dito</strong></caption>
    
<?php
    $_product 
$this->getProduct();
    
$capital $_product->getFinalPrice();
    
$taxa 5.39;
    
$capital *= + ($taxa 100);
    
    for(
$i=1$i 12$i++){
        $capital 
*= + ($taxa 100);
           echo(
$i '<tr>' '');
        echo 
'<td width="170">'.($i+1).' parcelas de <strong>R$ '.number_format($capital/($i 1),2,',','.').'</strong></td>';
        echo(
$i '' '</tr>'). "\n";
      
}
?>
</table>

Alguém pode me ajudar, o que devo alterar?

Outra coisa, ele só exibe a partir da segunda parcela, não tem como exibir desde 1x até 12x?

 
Magento Community Magento Community
Magento Community
Magento Community
 
redlights
Jr. Member
 
Total Posts:  15
Joined:  2011-03-02
 

Olá Jean, talvez este código possa lhe ajudar, consegui colocar pra funcionar ontem.

Peguei um código para parcelamento deste site (lá tem mais instruções de como colocar pra funcionar): http://www.weblibre....ado-no-magento/
e coloquei no arquivo parcela.phtml
Obs.: não usei o método do Mario Sam pois não sei se daria pra visualizar com juros e sem juros, não vi essa opção no código.

Alterei o código para funcionar exibindo até a 3a parcela sem juros e da 4a em diante com juros. Não sei dizer se é a forma mais correta de escrever o código mas funcionou: http://www.houserehab.com.br
Agora, o que preciso de ajuda seria pra fazer esse código funcionar no carrinho, pois facilita para o cliente ver o valor total de produtos em seu carrinho, bem como as opções de parcelamento do total de sua compra.

Código que está funcionando para o arquivo parcela.phtml e serve para exibir na página do produto:

<?php
    
function getNumParcelas($total$maxParcelas$valor_minimo)
    
{
        $nParcelas 
$maxParcelas;

  
//verifica o valor mínimo permitido para cada parcela
  
if (!empty($valor_minimo) && is_numeric($valor_minimo)) {
   $parcPossiveis 
floor($total $valor_minimo);

   if (
$parcPossiveis $nParcelas{
    $nParcelas 
$parcPossiveis;
   
}
  }

  
return $nParcelas;
    
}
function getValorParcela($total$parcela$taxa{
  
if(!is_numeric($total) || $total <= 0){
   
return(false);
  
}
  
if((int)$parcela != $parcela){
   
return(false);
  
}
  
if(!is_numeric($taxa) || $taxa 0){
   
return(false);
  
}
  $taxa 
$taxa 100;

  
$denominador 0;
  if(
$parcela 1){
   
for($i=1$i<=$parcela$i++){
    $denominador 
+= 1/pow(1+$taxa,$i);
   
}
  }else{
   $denominador 
1;
  
}
  
//return(round($total/$denominador));
  
return($total/$denominador);
 
}
?>

<div style="font-weight:bold; font-size:12px; width:280px;">PARCELAMENTO NO CARTÃO DE CRÉDITO:</div>
<
select>
<!-- 
sem juros: -->
<?php
      $_product 
$this->getProduct();
      
// máximo de parcelas
      
$maxParcelas 3;
      
// valor minimo de cada parcela
      
$valorMinimo 5;
      
$taxa 0;

      
$capital $_product->getFinalPrice();
      
$numParcelas getNumParcelas($capital$maxParcelas$valorMinimo);
      for(
$i=1$i $numParcelas$i++){
      $valorParcela 
getValorParcela($capital$i+1$taxa); ?>

<option value="<?php echo($i % 2 ? '<tr>' : ''); ?>"><br /><br />
     
  
<?php echo'<td><strong>'.($i+1).'</strong>x de <strong>R$ '.number_format($valorParcela,2,',','.'). ' sem juros</strong></td> --- Total: R$' .number_format($valorParcela*($i+1),2,',',' '?> </option>
  
<?php echo($i '' '</tr>'). "\n"
    
} ?>
  ?>
  
<!-- com juros: -->
  
<?php
      $_product 
$this->getProduct();
      
// máximo de parcelas
      
$maxParcelas 12;
      
// valor minimo de cada parcela
      
$valorMinimo 5;
      
$taxa 1.99;

      
$capital $_product->getFinalPrice();
      
$numParcelas getNumParcelas($capital$maxParcelas$valorMinimo);
      for(
$i=3$i $numParcelas$i++){
      $valorParcela 
getValorParcela($capital$i+1$taxa); ?>

<option value="<?php echo($i % 2 ? '<tr>' : ''); ?>">

<?php echo'<td><strong>'.($i+1).'</strong>x de <strong>R$ '.number_format($valorParcela,2,',','.'). '* com juros</strong></td> --- Total: R$' .number_format($valorParcela*($i+1),2,',',' ').'*' ?> </option>
<?php echo($i '' '</tr>'). "\n"
    
} ?>
  ?>
</select>
 <
div style="font-style:italic; font-size:11px;"> *Acima de 3 parcelas juros de 1,99ao mês </div>

Após funcionar na página do produto, quero fazer este código funcionar no carrinho, portanto coloquei este código no arquivo: /app/design/frontend/base/default/template/checkout/cart/totals.phtml
E claro, que não funcionou, pois no carrinho temos que usar getGrandTotal(); além de outras alterações no código.
Porém tentei de algumas formas fazer isso e não consegui, alguém pode me dar uma ajuda?

Obrigado!

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top