Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#68884
Amigos, estou tentando migrar pro open, mas tenho algumas dúvidas.
Nos testes que fiz na versão 2.2 sobre mostrar parcelamento, está dando erro.

PS: Não sou programador, sou designer.
O que para alguns pode ser simples, para outros não.


No arquivo category.tpl fiz o seguinte (isso dps de muita pesquisa)
Código: Selecionar todos
<?php $product['price2'] = preg_replace("/[^0-9,.]/", "", $product['price']) / 12 ?>
<?php $product['special2'] = preg_replace("/[^0-9,.]/", "", $product['special']) / 12 ?>

<?php if (!$product['special']) { ?>
<?php echo number_format($product['price2'], 2, ',', '.'); ?>
<?php } else { ?>
<?php echo number_format($product['special2'], 2, ',', '.'); ?>
<?php } ?>
Nos preços abaixo de 1.000,00 ele mostra certinho.

100,00 = 8,33
200,00 = 16,67
999,00 = 83,25

Mas a partir de 1.000,00 ele não calcula certo.

1.000,00 = 0,08
1.111,00 = 0,09

Alguém poderia me dar uma luz?
Grato.
#68890
Isso ocorre pois o php não faz cálculos quando tem vírgula no valor, você deve substituir a vírgula por ponto; Fiz uma adaptação que irá corrigir esse problema, da uma olhada;
Código: Selecionar todos
<?php
function validar_valor($valor){
      if((preg_match('/,/i',$valor))and(preg_match('/./i',$valor))){
         $valor = str_replace('.','',$valor);
         $valor = str_replace(',','.',$valor);
      }
      else{
         $valor = str_replace(',','.',$valor);
      }
	  return $valor;
}
?>
  
<?php $product['price2'] = preg_replace("/[^0-9,.]/", "", tratar_valor($product['price'])) / 12 ?>
<?php $product['special2'] = preg_replace("/[^0-9,.]/", "", tratar_valor($product['special'])) / 12 ?>

<?php if (!$product['special']) { ?>
<?php echo number_format($product['price2'], 2, ',', '.'); ?>
<?php } else { ?>
<?php echo number_format($product['special2'], 2, ',', '.'); ?>
<?php } ?>

Night games. One night, no worries Real Women P[…]

@Manoel Vidal Poderia me ajudar com 2 coisas n[…]

Looking for a partner for an unforgettable night? […]

Vou verificar, Obrigado