Fórum OpenCart Brasil

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

#49493
Pessoal, desculpe mas não tinha visto as respostas. Segue o código:
Código: Selecionar todos
<!-- Exibicao de parcelas -->
              <?php
                /*
                  Configuracoes do sistema de parcelamento
                  ----------------------------------------
                  $maximo_parcelas = Define a quantidade maxima de parcelas aceita pela loja
                  $parcela_minima = Valor minimo da parcela aceito pela loja
                  $parcelas_sem_juros = Define quantas parcelas nao terao juros
                  $juros = Taxa de juros mensal
                  $moeda_da_loja = Permite especificar a moeda utilizada na loja
                  $tipo_de_calculo = Permite escolher o tipo de calculo a ser utilizado
                  0 = Juros simples (Pagamento Digital)
                  1 = Tabela Price (PagSeguro e outros)
                */

                $maximo_parcelas = 12;
                $parcela_minima = 5;
                $parcelas_sem_juros = 3;
                $juros = 1.79;
                $moeda_da_loja = 'R$ ';
                $tipo_de_calculo = 1;

                if (!$special) {
                  $preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($price))));
                } else {
                  $preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($special))));
                }

                if ($preco_numero >= $parcela_minima*2) {

               // A vista
              echo '<b>Deposito Itau ou Pagamento na Entrega</b><br />';
             $percentual = 5.0 / 100.0; // 5%
                 $valor_final = $preco_numero - ($percentual * $preco_numero);
                 $valor_final = number_format($valor_final, 2, ',', '.');
                echo '<span style="color: darkgreen;">' . "Por " . $moeda_da_loja . $valor_final . " (5% de desconto)" . '</span> <br /> <br />';
            
                // Titulo
                echo '<b>Cart&atilde;o de cr&eacute;dito (via PagSeguro)</b><br />';
                echo '<table width="100%">';

                // Inicia a primeira coluna
                echo '<div style="width: 50%; float:left;">';
            $valor_1x = number_format($preco_numero, 2, ',', '.');
                echo '<span style="color: darkgreen;">' . "1x de " . $moeda_da_loja . $valor_1x . "" . '</span><br />';
            
                // Exibicao das parcelas
                for ($p = 2; $p <= $maximo_parcelas; $p++) {

                  // Se a parcela nao tiver juros
                  if ($p <= $parcelas_sem_juros) {
                    $valor_parcela = $preco_numero / $p;
                  }

                  // Se a parcela tiver juros
                  if ($p > $parcelas_sem_juros) {
                    if ($tipo_de_calculo == 0) {
                      $valor_parcela = ($preco_numero * pow(1+($juros/100), $p))/$p;
                    }
                    if ($tipo_de_calculo == 1) {
                      $valor_parcela = ($preco_numero * ($juros/100))/(1-(1/(pow(1+($juros/100), $p))));
                    }
                  }

                  // Escreve a parcela se ela for maior do que a parcela minima
                  if ($valor_parcela >= $parcela_minima) {
                    $valor_parcela = number_format($valor_parcela, 2, ',', '.');
                    if ($p <= $parcelas_sem_juros) {
                      echo '<span style="color: darkgreen;">' . $p . 'x de ' . $moeda_da_loja . $valor_parcela . ' sem juros</span><br />';
                    } else {
                      echo $p . 'x de ' . $moeda_da_loja . $valor_parcela . ' com juros<br />';
                    }
                  }

                  // Fecha a primeira coluna e inicia a segunda
                  if ($p == intval($maximo_parcelas/2)) { echo '</div><div style="width: 50%; float:right;">'; }
                }
                
                // Fecha a segunda coluna e finaliza
                echo '</div>';
                echo '</table><br />';
                }
              ?>
            <!-- Exibicao de parcelas -->
Eu incluí logo antes de:
<?php if ($review_status) { ?>
O código não está limpinho e comentado como o Dênis havia feito anteriormente pois fiz a alteração apenas para a minha loja que é bem simples e usada mais para divulgar os produtos do que vender por ela propriamente dito.
#49628
Boa tarde pessoal,

Obrigado Denis e Rmatheus, coloquei na loja que estou testando e ficou bom.
Podem dar uma confere www.hostg.us/oc

Agora vou procurar como colocar na página principal a informação de pagamento em 12 vezes.
Valeu galera, aprendendo muito com vocês.
Abs
#49856
segui a dica do matheus e coloquei o código antes da linha citada por ele e ficou bacana

uma duvida agora,como aumentar o tamanho da letra? (no caso os números?)deixar 1 pouco maior pra ficar visualização mais facil
#51327
Boa Noite Denis

Eu gostria de saber o seguinte. No seu código em português tudo Ok, mais quando muda pra $ (dolar) ele dá este erro aqui no preço do produto.

Warning: Division by zero in /home/agx1a/public_html/lojabbs/catalog/view/theme/perfectum/parcelamento.php on line 31
ou 0x de R$ 0,00
com juros de 3.99% ao mês - See more at: http://www.agenciax1a.com.br/lojabbs/in ... 5Bls7.dpuf

Tem como deixar os 2 modos real e dolar funcionarem?
Obrigado sou novo no opencart
#51678
Boa noite,

Também estou tentando adaptar esse tutorial que é excelente por sinal ao módulo que muda o valor de acordo com as opções dos produtos. Caso alguem já tenha conseguido esse resultado e queira compatilhar, todos iremos agradecer! haha

Alguem tambem saberia me ajudar para fazer essa tabela de parcelamento ficar em 3 colunas?
  • 1
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

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