Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#72058
Olá pessoal, preciso de uma ajudinha que imagino seja extremamente simples para quem é programador ou entende dos códigos html, no entanto meu conhecimento é pouco e não consegui resolver. É o seguinte, eu estava precisando colocar uma frase abaixo do preço dos produtos oferecendo 3 vezes sem juros para o cliente. Pesquisei e encontrei um script muito antigo do denisgomes mas arrisquei testar e com alguns ajustes funcionou perfeitamente na minha loja como eu precisava, o script completo dele é este:
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;
$parcela_minima = 5.00;

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_total = ($preco_numero * pow(1+($juros/100), $qtd_parcelas));
  $max_parcelas = intval($valor_total/$parcela_minima);
  if ($max_parcelas < $qtd_parcelas) { $qtd_parcelas = $max_parcelas; }
  $valor_parcela = $valor_total/$qtd_parcelas;
}
if ($tipo_de_calculo == 1) {
  $valor_total = ($preco_numero * ($juros/100));
  $max_parcelas = intval($valor_total/$parcela_minima);
  if ($max_parcelas < $qtd_parcelas) { $qtd_parcelas = $max_parcelas; }
  $valor_parcela = $valor_total/(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&ecirc;s'; }

?>
Ok, ajustei as parcelas para 3 como eu pretendia e zerei a taxa de juros e funciona perfeito, o problema é que fica sem estética, veja na figura abaixo que fica quase remontando sobre o preço de forma estranha:

Imagem

Então eu consegui mexer nas duas últimas linhas deixando assim:
Código: Selecionar todos
// Exibe as frases de parcelamento
echo '<p><center><font color="#000000" size="2">ou ' . $qtd_parcelas . 'x de ' . $moeda_da_loja . number_format($valor_parcela, 2, ',', '.');
if ($juros == 0) { echo ' sem juros</center></p>';}

?>
Então obtive este resultado da imagem abaixo que já está muito melhor do que era, veja:

Imagem

Agora o problema é o seguinte, note que eu coloquei um código onde posso alterar as cores e o tamanho do texto, só que não consigo desvincular isso de todos os textos da loja, por exemplo se eu altero o tamanho ou a cor o mesmo acontece nos comentários dos produtos e em vários outros. Eu pergunto, tem algum código fácil para que eu possa inserir nessas duas linhas que eu alterei para que eu possa por exemplo trocar a cor, o tamanho, colocar bold no "3x" ou no valor da parcela sem que interfira em outros textos da loja? Que fique customizável apenas o texto dessas duas linhas de script?

Desde já agradeço.
Editado pela última vez por Smagicas em 02 Fev 2017, 10:44, em um total de 1 vez.
#72061
Tente:
Código: Selecionar todos
// Exibe as frases de parcelamento
echo '<p style="text-align:center; color:#000000; font-size:15px> ou ' . $qtd_parcelas . 'x de ' . $moeda_da_loja . number_format($valor_parcela, 2, ',', '.');
if ($juros == 0) { echo ' sem juros</center></p>';}
Para utilizar da sua forma deve fechar a tag fonte
#72063
Olá veteranodf, obrigado pela resposta mas não deu certo, veja com o seu código como fica:

Imagem
Mas eu segui o que você falou de fechar a tag fonte na minha maneira e deu certo, o curioso é que eu já tinha fechado isso antes e não deu certo, acho que foi uma questão de limpar o cache. Veja agora como ficou certinho:

Imagem
Pena que eu não consegui deixar BOLD apenas nos números do preço parcelado como eu queria, só consegui deixando o R$ também bold, mas isso é o de menos, o importante é que deu certinho. Essa imagem acima o código está assim:
Código: Selecionar todos
// Exibe as frases de parcelamento
echo '<p><center><font color="#23a1d1" size="2">ou<b> ' . $qtd_parcelas . 'x</b> de<b> ' . $moeda_da_loja . number_format($valor_parcela, 2, ',', '.');
if ($juros == 0) { echo '</b> sem juros</center></font></p>';}
Valeu e obrigado.
#72064
Tinha esquecido da aspa dupla na tag style, corrigir abaixo e adaptei o style bold nos números;
Código: Selecionar todos
// Exibe as frases de parcelamento
echo '<p style="text-align:center; color:#000000; font-size:12px"> ou <span style="font-weight: bold; font-size:15px">' . $qtd_parcelas . '</span>x de ' . $moeda_da_loja .'<span style="font-weight: bold; font-size:15px">'. number_format($valor_parcela, 2, ',', '.').'</span>';
if ($juros == 0) { echo ' sem juros</p>';}