Tárhelyszolgáltatónk

Mala & Társa Webrendszerek Kft. - Tárhely szolgáltató

Twitteren vagyunk

osCommerce - Magyarország a Twitteren

Névnap
Ma 2012. május 19., szombat, Ivó és Milán napja van. Holnap Bernát és Felícia napja lesz.
Kövess a Facebookon.
Joomla Templates and Joomla Extensions by JoomlaVision.Com
Címlap Hibák és elhárításuk A nagy összegű árak hibásan jelennek meg a webáruházban

A nagy összegű árak hibásan jelennek meg a webáruházban

A nagy összegű árak hibásan jelennek meg a webáruházban

Bizonyos nagy számok esetén hibásan mutatja az árat a webshop.
Nálam az 1.840.000Ft nettó árhoz tartozó kijelzett ár: 2Ft (volt...

Nem meglepő, hogy ez nem csak nálam fordult elő, az OsCommerce oldalán ott van a javítás, de itt is publikálom, hátha valakinek pont erre van szüksége.

Az includes/functions/general.php-ban ezt keresd meg:

function tep_round($number, $precision) { 
    if (strpos($number, '.') && (strlen(substr($number, strpos($number, '.')+1)) > $precision)) { 
      $number = substr($number, 0, strpos($number, '.') + 1 + $precision + 1);
      if (substr($number, -1) >= 5) { 
        if ($precision > 1) { 
          $number = substr($number, 0, -1) + ('0.' . str_repeat(0, $precision-1) . '1');
        } elseif ($precision == 1) { 
          $number = substr($number, 0, -1) + 0.1;
        } else { 
          $number = substr($number, 0, -1) + 1;
        } 
      } else { 
        $number = substr($number, 0, -1);
      } 
    } 
    return $number;
  } 

És ezt kell a helyére másolni:

function tep_round($number, $precision) { 
    
  // if there's a decimal part to the number:
  if(floor($number) != $number)   { 
    // We're going to move the decimal point right by $precision digits,
    $multBy = pow(10, $precision);
    $number *= $multBy;
  
    // get the last digit, which we may need to round up
    $lastDigit = $number % 10;
  
    // if the digit we use to round the number is greater than 5
    // then replace the last digit w/ (last digit + 1)
  
    $roundingDigit = ($number * 10) % 10;
    if($roundingDigit >= 5)   { 
      $number = floor($number / 10)*10 + ($lastDigit+1);
    } 
    else {
      // truncate anything after the decimal place
      $number = floor($number);
    } 
    
    // then move the decimal place left by $precision digits
    $number = $number / $multBy;    
  } 
  
  return $number;
} 
Hozzászólások (0)
Hozzászólást csak Regisztrált felhasználó írhat!

Módosítás: ( 2009. szeptember 26. szombat, 11:49 )