-
- mulamula

-
Total Posts: 13
Joined: 2009-10-18
|
Olá,
Estou com um problema em integrar o numero de parcela permitida com o número final do carrinho de compras.
Como por exemplo: O valor mínimo de cada parcela é 25 reais e um máximo de 6 parcelas possiveis sem juros, abaixo desse valor será a vista.
É o seguinte quando um cliente comprar um produto no valor de 50 reais ele poderá parcela em até duas vezes de 25 reais,certo.
Então, montei na página do “credit card save” o seguinte código:
<?php endif; ?> <label for="<?php echo $_code ?>_cc_parcelas"><?php echo $this->__('Parcelas') ?> </label><br /> <div class="v-fix"> <select> title="<?php echo $this->__('Parcelas') ?>" class="input-box" id="<?php echo $_code ?>_cc_parcelas" name="payment[cc_parcelas]" style="width:85px;" value=""> <option value="1">a vista</option> <option value="2">2 x</option> <option value="3">3 x</option> <option value="4">4 x</option> <option value="5">5 x</option> <option value="6">6 x</option> </select> </div>
Com isso ele gravará o numero de parcela(para gravar é outro assunto que não é necessario se aprofundar na resolução da questão) escolhida e aparecerá no painel de controle, no entanto o problema é o seguinte
o que tenho que modificar nesse código para que ele trabalhe junto com esses dois códigos, que são sucessivamente o valor máximo e mínimo permitido para cada parcela e o código que irá fazer a busca no preço final para demonstrar as parcelas possveis, que no caso do exemplo são 2 parcelas:
<?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); } ?>
<?php $_product = $this->getProduct(); // máximo de parcelas $maxParcelas = 6; // valor minimo de cada parcela $valorMinimo = 25; $taxa = 0;
$capital = $_product->getFinalPrice(); $numParcelas = getNumParcelas($capital, $maxParcelas, $valorMinimo); for($i=1; $i < $numParcelas; $i++){ $valorParcela = getValorParcela($capital, $i+1, $taxa);
echo($i % 2 ? '<tr>' : ''); echo('<td><strong>'.($i+1).' </strong>parcelas de <strong>R$ '.number_format($valorParcela,2,',','.').'* </strong></td>'); echo($i % 2 ? '' : '</tr>'). "\n"; } ?>
Então é isso eu preciso integrar esses dois últimos códigos com o primeiro de forma que quando o cliente chegar na parte do checkou do “credit card saved” o código irá buscar o preço final e demonstrar na tag <select> o número de parcelas possiveis.Os código estão funcionando de forma correta cada um com sua função, no entanto, o necessário é que eles sejam integrados para trabalhar juntos com a finalidade de buscar o preço final e demonstrar na tag <select> as parcelas disponiveis para esse valor de compra..
Alguem pode me dar uma luz, por favor?
Obrigado
|