Página 10 de 19
Re: [TUTORIAL] Exibir parcelamento em qualquer lugar
Enviado: 11 Jan 2013, 22:28
por cezar
Amigos,
Este script realmente é muito bom, e ajuda bastante.
É possível colocar o parcelamento no checkout, de modo que o usuário veja como ficará o parcelamento no total do carrinho? No meu caso, como todos os produtos tem opções e são configurados, o que interessa para o usuário é ver somente o parcelamento no final, no VER CARRINHO e no FINALIZAR PEDIDO.
Eu uso apenas o PagSeguro.
Neste caso, onde devo colocar o código?
Agradeço muito suas dicas.
Abs,
Re: [TUTORIAL] Exibir parcelamento em qualquer lugar
Enviado: 24 Jan 2013, 23:42
por elvis_lion
Olá pra puxar a include eu usei
<?php include '/catalog/view/theme/DarkCart/parcelamento.php'; ?>
deu certo
Re: [TUTORIAL] Exibir parcelamento em qualquer lugar
Enviado: 25 Jan 2013, 09:44
por denisgomes
Cezar, a função de parcelamento não foi feita para funcionar no carrinho, creio que se puxar para lá ela apresentará erro pois as variáveis que exibem o preço podem ser diferentes. Mas ela poderá ser modificada para fazer isso.
Observe que o cliente já verá as parcelas, os valores e as taxas de juros quando for efetivamente fazer o pagamento no ambiente do PagSeguro.
Re: [TUTORIAL] Exibir parcelamento em qualquer lugar
Enviado: 06 Mar 2013, 09:12
por wesleyroversonsouza
Denis bom dia
Tem alguma alteração que tem que fazer para inserir esse código na versão 1.5.5.1?
denisgomes escreveu:O povo pediu e eu atendi: agora você pode mostrar o parcelamento dos produtos na página inicial e/ou nas categorias! Com cálculo direto, sem depender de rotinas de outros sites.
Atenção: este tutorial destina-se a exibir o parcelamento em qualquer listagem de produtos (página inicial, módulo "Produtos em destaque", categorias, etc). Para exibir o parcelamento na página do produto em si, você deve usar o meu outro tutorial.
Características
- Facilmente configurável no código
- Permite definir a quantidade máxima de parcelas
- Faz cálculos de parcelamentos com juros ou sem juros
- Duas fórmulas para cálculo do parcelamento: juros simples (usado no Pagamento Digital) e tabela Price (usado no PagSeguro e outros)
Sua loja do OpenCart agora vai exibir a listagem de produtos como as grandes lojas:
<Nome do produto>
R$ 30,00
ou 12x de R$ 4,00
sem juros
Antes de começar
Acesse a configuração de moeda da sua loja e certifique-se de que o símbolo de moeda seja igual a "R$ " (sem aspas e com um espaço no final). Devido a uma limitação do OpenCart, a função de cálculo de parcelamento precisa remover o símbolo manualmente antes de fazer os cálculos, e ela está programada para remover o R$ com espaço no final. Se você não fizer esta alteração, o cálculo de parcelamento não funcionará.
Se sua loja usa outra moeda ou se você quiser usar o R$ sem o espaço no final, basta alterar a variável $moeda_da_loja abaixo (repare que nesta variável há um espaço depois do R$).
Para inserir
1. Abra a pasta /catalog/view/theme/<seu tema> e crie um arquivo com o nome parcelamento.php.
2. Neste arquivo, insira o seguinte código:
Código: Selecionar todos<?php
/*
Configuracoes do sistema de parcelamento
----------------------------------------
$qtd_parcelas = Define a quantidade de parcelas a ser exibida para os produtos
$juros = Taxa de juros mensal (deixe em 0 para parcelamento sem juros)
$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)
*/
$qtd_parcelas = 12;
$juros = 3.99;
$moeda_da_loja = 'R$ ';
$tipo_de_calculo = 0;
if (!$product['special']) {
$preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($product['price']))));
} else {
$preco_numero = str_replace(',','.',str_replace('.','', str_replace($moeda_da_loja,"",strip_tags($product['special']))));
}
// Calcula o valor da parcela de acordo com o tipo de calculo utilizado
if ($tipo_de_calculo == 0) {
$valor_parcela = ($preco_numero * pow(1+($juros/100), $qtd_parcelas))/$qtd_parcelas;
}
if ($tipo_de_calculo == 1) {
$valor_parcela = ($preco_numero * ($juros/100))/(1-(1/(pow(1+($juros/100), $qtd_parcelas))));
}
// Exibe as frases de parcelamento
echo '<br />ou ' . $qtd_parcelas . 'x de ' . $moeda_da_loja . number_format($valor_parcela, 2, ',', '.');
if ($juros == 0) { echo '<br />sem juros'; } else { echo '<br />com juros de ' . $juros . '% ao mês'; }
?>
3. Decida onde você deseja inserir a exibição de parcelamento.
No OpenCart a chamada de exibição de preço do produto é realizada por vários arquivos (templates). Por exemplo: há um template para a página inicial, outro para as categorias, etc. Você deve abrir os arquivos referentes à seção do site onde você deseja inserir o parcelamento e colocar a chamada para a função de parcelamento.
Segue uma lista não completa de templates usados no OpenCart:
Listagem de produtos na categoria/departamento: /catalog/view/theme/<seu tema>/template/product/category.tpl
Comparação de produtos: /catalog/view/theme/<seu tema>/template/product/compare.tpl
Listagem de produtos de um fabricante/marca: /catalog/view/theme/<seu tema>/template/product/manufacturer_list.tpl
Pesquisa de produtos na loja: /catalog/view/theme/<seu tema>/template/product/search.tpl
Lista de produtos em promoção: /catalog/view/theme/<seu tema>/template/product/special.tpl
Módulo Novos produtos: /catalog/view/theme/<seu tema>/template/module/latest.tpl
Módulo Produtos em destaque: /catalog/view/theme/<seu tema>/template/module/featured.tpl
Módulo Produtos mais vendidos: /catalog/view/theme/<seu tema>/template/module/bestseller.tpl
Observe que no OpenCart 1.5 houve uma mudança na forma como os módulos são inseridos e utilizados. Os módulos acima (e outros) podem ser configurados para serem exibidos na barra lateral, no topo, no rodapé, na página inicial, etc.
4. Abra o arquivo de template desejado, localize a parte onde o preço é exibido e insira a chamada para a função.
Procure pela palavra price ou $price. Isso o ajudará a localizar o trecho da página onde o preço é exibido. Observe que cada tema possui uma forma diferente de exibir o preço, por isso o código fonte pode variar muito. Além disso, alguns templates podem chamar a exibição de preço mais de uma vez.
Vejamos um exemplo usando o arquivo /template/product/category.tpl do tema padrão do OpenCart 1.5: próximo da linha 77 você encontrará o bloco:
Código: Selecionar todos <?php if ($product['price']) { ?>
<div class="price">
<?php if (!$product['special']) { ?>
<?php echo $product['price']; ?>
<?php } else { ?>
<span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
<?php } ?>
Abaixo deste bloco insira a chamada:
Código: Selecionar todos<? include $_SERVER['DOCUMENT_ROOT'] . '/catalog/view/theme/<seu tema>/parcelamento.php'; ?>
Mude <seu tema> acima para o nome da pasta do tema usado na sua loja. Se você estiver usando o tema padrão, coloque default. Verifique se existe algum outro bloco semelhante a este no resto do arquivo e, se houver, insira a chamada novamente.
Atenção: Algumas empresas de hospedagem impedem ou limitam a utilização da diretiva include alegando motivos de segurança (conversa fiada, mas enfim...). Este tutorial utiliza a diretiva include para que você possa usar esta rotina em diversos lugares e posteriormente alterar os parâmetros dela (taxa, parcelas, etc) alterando apenas um arquivo (parcelamento.php). Se você receber uma mensagem de erro no local onde inseriu o parcelamento, provavelmente a sua empresa de hospedagem bloqueou a utilização do include. Para resolver isso, escolha outra empresa de hospedagem ou então coloque todo o código do arquivo parcelamento.php no lugar da linha acima.
5. É isso aí!
Configurando
O código é auto-explicativo e bem comentado. Basta fazer as alterações desejadas:
$qtd_parcelas = Define a quantidade máxima de parcelas aceita pela loja.
$juros = Taxa de juros mensal. Escreva apenas os números e utilize ponto para separar as casas decimais (p.ex. 1.99)
$moeda_da_loja = Permite especificar a moeda utilizada na loja. Se a sua loja usa outra moeda além de R$, escreva aqui a moeda.
$tipo_de_calculo = Permite escolher o tipo de cálculo a ser utilizado no parcelamento: 0 = Juros simples (Pagamento Digital), 1 = Tabela Price (PagSeguro).
Observações
- A função escreverá automaticamente 'com juros' ou 'sem juros' de acordo com a configuração correspondente.
- O OpenCart só disponibiliza o preço já formatado (R$ 130,00) e não como um número (130,00). Para fazer os cálculos das parcelas foi necessário fazer uma conversão para número usando a função str_replace. Você deve alterar a opção $moeda_da_loja e especificar o símbolo de moeda utilizado em sua loja caso ele seja diferente de "R$".
- Se o cálculo estiver errado ou não aparecer, verifique se você colocou um espaço em branco após o "R$" na configuração de moeda de sua loja.
- Se o cálculo não aparecer, será necessário revisar a forma como o tema de sua loja funciona. Alguns temas trabalham de forma diferente e é necessário fazer pequenas alterações no código.
- O comando include em PHP exige que seja informado o nome da pasta onde se encontra o arquivo parcelamento.php. Se a sua loja apresentar algum erro do tipo 'include file not found', verifique se você digitou o nome da pasta corretamente. O comando include é necessário para que você possa alterar posteriormente a quantidade de parcelas e juros em toda loja apenas alterando este arquivo.
- Este tutorial modifica um arquivo padrão (core) do OpenCart. Se você atualizar a versão da sua loja você terá de reaplicar estas alterações.
Dúvidas?
No que eu puder ajudar, é só perguntar.
Re: [TUTORIAL] Exibir parcelamento em qualquer lugar
Enviado: 06 Mar 2013, 09:20
por wesleyroversonsouza
Bom dia
Denis
Instalei o op 1.5.5.1 e segui a risca tudo que você colocou no tutorial e as duvidas dos usuários porem não funcionou.
Gostaria de saber se tem alguma alteração que tem que ser feito para funcionar~.
Desde ja agradeço
Att
Wesley
Re: [TUTORIAL] Exibir parcelamento em qualquer lugar
Enviado: 23 Mar 2013, 17:24
por FilipeAlves
Olá,
Gostaria de saber se alguém conseguiu inserir o parcelamento no template de "Promoções", pois eu não consegui, não apareceu.
No template de "Destaque" funcionou perfeitamente;
Alguém saberia me dizer como faço para que o código funcione para os produtos em "Promoções"?
Obrigado.
Re: [TUTORIAL] Exibir parcelamento em qualquer lugar
Enviado: 01 Abr 2013, 15:28
por superkazaa
Olá fiz o procedimento conforme o informado no Tuto!,porem os valores parcelados aparecem em mil.
Ex:R$50,00 ou 10 vezes de R$5.000.00 e não 10 vezes de R$5,00. o que poderia ser?
Atenciosamente
Re: [TUTORIAL] Exibir parcelamento em qualquer lugar
Enviado: 01 Abr 2013, 15:37
por denisgomes
Configure a loja pra usar vírgula nos decimais, e não ponto (que é o padrão americano).
Re: [TUTORIAL] Exibir parcelamento em qualquer lugar
Enviado: 01 Abr 2013, 16:05
por Marcelo Fernandes
Denis me dê uma ajuda. Eu fiz tudo de acordo com o tuto, só que simplesmente não acontece nada... não aparece nada, não da erro nenhum '-'
Estou fazendo em localhost... a unica mudança que houve foi no preço do produto que caiu para o valor de uma das parcelas e nada mais que isso... tipo Prod = R$1,000.00 ele cai pela metade R$500.00
Re: [TUTORIAL] Exibir parcelamento em qualquer lugar
Enviado: 01 Abr 2013, 16:24
por denisgomes
Tente substituir
Código: Selecionar todos<? include $_SERVER['DOCUMENT_ROOT'] . '/catalog/view/theme/<seu tema>/parcelamento.php'; ?>
por
Código: Selecionar todos<? include 'c:/<caminho para a pasta do opencart no seu servidor>/catalog/view/theme/<seu tema>/parcelamento.php'; ?>