Fórum OpenCart Brasil

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

#40694
Muito bom o procedimento. Fiz aqui e acertei na primeira tentativa.
Obrigado denisgomes por disponibilizar o código e correções.
Deixei o meu em uma coluna só... e para quem usa o Bcash como pagamento a taxa de juros que fica mais aceitável (próxima) é trocar o 1,99% por 1,45% da quase exato as primeiras parcelas mas no final da uma boa diferença.
Mas eu coloquei no meu para 1,50%, antes o cliente aceitar pagar um pouco mais caro no parcelado da loja, e depois no final com o Bcash pagar mais barato e ficar muito feliz do que o contrario.

Se estiver curioso para ver como o código funcionou acesso meu site e abra algum produto e confira. http://www.simtech.info Ainda estou trabalhando no site. Julho/13 já vai estar totalmente na ativa.

Para quem quiser o código que usei, segue abaixo:

Código: Selecionar todos
							              <!-- Exibicao de parcelas -->
            <b>Parcelamento no cart&atilde;o de cr&eacute;dito</b><br />
            <table width="100%">
              <?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 = 1;
                $juros = 1.50;
                $moeda_da_loja = 'R$ ';
                $tipo_de_calculo = 0;

                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))));
                }


                // 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 />';
                    }
                  }

                }

                // Exibe os juros utilizados e o valor minimo da parcela se esta for maior que zero
                if ($parcelas_sem_juros < $maximo_parcelas) {
                  $juros = number_format($juros, 2, ',', '.');
                  echo '<span style="font-size: smaller;">Juros de ' . $juros . '% ao m&ecirc;s</span>';
                }
                if ($parcela_minima > 0) {
                  $parcela_minima = number_format($parcela_minima, 2, ',', '.');
                  echo '<br /><span style="font-size: smaller;">Parcela m&iacute;nima de ' . $moeda_da_loja . $parcela_minima . '</span>';
                }

              ?>
            </table>
            <br />
            <!-- Exibicao de parcelas -->
#40698
Olá fightboy, obrigado pelos elogios. E parabéns pela loja, gostei do layout - sou fã de layouts limpos e minimalistas. Essa realmente ficou com 'cara de loja' e não com 'cara de OpenCart' ;)
#40977
rodrigolyra, você pode colocar o código onde você quiser que ele apareça, dentro do arquivo product.tpl. As instruções do tópico servem pra quem usa o template padrão do OpenCart, se você usar outro template a localização exata vai variar.
#41002
Já verifiquei se o problema é com o R$ mais testei de todas as formas e as parcelas não aparecem... nas configurações da loja esta como 'R$'. testei passando 'R$' e 'R$ '... e o problema continua...

Alguma ideia?

Abraço!
#41029
Pessoal, consegui arrumar...

não sei pq.. mais para todas as linhas com comentarios por exemplo

// Exibicao das parcelas

Eu precisei substituir assim:

/* Exibicao das parcelas */

Agora deu certo!

Muito obrigado denisgomes! excelente funcionalidade!
#41030
Bom saber que conseguiu resolver o problema por conta própria. E essa é nova... o padrão para comentários no PHP pode ser // ou /* */ mas qualquer um dos dois deveria funcionar. Seu servidor é Windows?
  • 1
  • 13
  • 14
  • 15
  • 16
  • 17
  • 27