deathpoint
OpenCart-TR
- Katılım
- 7 Ocak 2014
- Mesajlar
- 3
- Tepkime puanı
- 0
- Puanları
- 0
Faturadaki Toplam Tutarı Yazı İle Yazdırmam lazım. Forumda birkaç konuya ulaştım ama açıklık getirilmemiş bir türlü işin çıkamadım yardım edermisiniz.
Elimde şöyle bir kod dizimi var.
Arkadaşlar sorun şu aslında ama çözemedim para birimini opencar temasınında ondalık kısmına 2 yazıdğımızda ,00 sonraki kısmı hesaplatamadım 25.00 lira ya İKİBİN BEŞYÜZ TL Diyor
Elimde şöyle bir kod dizimi var.
PHP:
<?php echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="<?php echo $direction; ?>" lang="<?php echo $language; ?>" xml:lang="<?php echo $language; ?>">
<head>
<title><?php echo $title; ?></title>
<base href="<?php echo $base; ?>" />
</head>
<?php
class yaziyla {
var $sayi=0;
var $kurus=0;
var $eksi="";
var $birim="TL";
var $kurus_birim = "KR";
var $bolukler;
var $birler;
var $onlar;
function yaziyla($birim="TL", $kurus_birim="KR") {
$this->birim = $birim;
$this->kurus_birim = $kurus_birim;
$this->bolukler = array("","bin","milyon","milyar","trilyon","katrilyon","trilyar","kentrilyon","kentrilyar","kontrilyar");
$this->birler = array("sıfır","bir","iki","üç","dört","beş","altı","yedi","sekiz","dokuz");
$this->onlar = array("","on","yirmi","otuz","kırk","elli","altmış","yetmiş","seksen","doksan","yüz");
}
function yaz($sayi) {
$tam="";
$kurus="";
if($this->sayi_cozumle($sayi)) {
return "Hatalı Sayı Formatı!";
}
if(($this->sayi+$this->kurus) == 0) return $this->birler[0].' '.$this->birim;
if($this->sayi>0) $tam = $this->oku($this->sayi);
if($this->kurus>0) $kurus = $this->oku($this->kurus);
if( $this->sayi == 0 ) return $this->eksi.' '.$kurus.' '.$this->kurus_birim;
if( $this->kurus == 0 ) return $this->eksi.' '.$tam.' '.$this->birim;
return $this->eksi.' '.$tam.' '.$this->birim.' '.$kurus.' '.$this->kurus_birim;
}
function oku($sayi) {
if($sayi == 0) return $this->birler[0];
$ubb = sizeof($this->bolukler);
$kac_sifir = 3 - (strlen($sayi) % 3);
if($kac_sifir!=3) for($i=0;$i<$kac_sifir;++$i) { $sayi = "0$sayi"; }
$k = 0; $sonuc = "";
for($i = strlen($sayi); $i>0; $i-=3,++$k) {
$boluk = $this->boluk_oku(substr($sayi, $i-3, 3));
if($boluk) {
if(($k == 1) && ($boluk == $this->birler[1])) $boluk = "";
if( $k > $ubb) $sonuc = $boluk ."Tanımsız(".($k*3).".Basamak) $sonuc";
else $sonuc = $boluk . $this->bolukler[$k]." $sonuc";
}
}
return $sonuc;
}
function boluk_oku($sayi) {
$sayi = ((int)($sayi)) % 1000; $sonuc = "";
$bir = $sayi % 10;
$on_ = (int)($sayi / 10) % 10;
$yuz = (int)($sayi / 100) % 10;
if($yuz) { if($yuz == 1) $sonuc = $this->onlar[10];
else $sonuc = $this->birler[$yuz].$this->onlar[10]; }
if($on_) $sonuc = $sonuc.$this->onlar[$on_];
if($bir) $sonuc = $sonuc.$this->birler[$bir];
return $sonuc;
}
function sayi_cozumle($sayi) {
$sayi = trim($sayi);
if($sayi[0] == "-") { $this->eksi="Eksi"; $sayi = substr($sayi, 1); }
if(preg_match("/^(0*\.0+|0*|\.0+)$/", $sayi)) { $this->sayi = $this->kurus = 0; return 0; }
if(preg_match("/^(\d+)\.(\d+)$/", $sayi, $m))
{
$sayi = $m[1]; $this->sayi = (int)preg_replace("/^0+/","",$sayi);
if(!preg_match("/^0+$/",$m[2])) $this->kurus = (int)$m[2];
}
else if(preg_match("/^0*(\d+)$/", $sayi, $m) || preg_match("/^0*(\d+)\.0+$/", $sayi, $m)) { $this->sayi = (int)$m[1]; }
else if(preg_match("/^0*\.(\d+)$/", $sayi, $m)) { $this->sayi = 0; $this->kurus = (int)$m[1]; }
else return 1;
if($this->kurus>0) {
$this->kurus= number_format('0.'.$this->kurus, 2);
if( (int)$this->kurus == 1 ) { ++$this->sayi; $this->kurus = 0; }
else $this->kurus = (int)str_replace("0.", "", $this->kurus);
}
return 0;
}
}
$yaziyla = new yaziyla("TÜRK LİRASI", "KURUŞ");
?>
<body>
<?php foreach ($orders as $order) { ?>
<div style="page-break-after: always;">
<table width="750" class="store">
</table>
<table width="730" class="address">
<tr>
<td align="center"><?php echo $order['payment_address']; ?><br/></td>
<td align="right"><?php echo $order['date_added']; ?></td>
</tr>
<tr>
<td align="center"> </td>
<td align="right"> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="right"> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="right"> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="right"> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="right"> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="right"> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="right"> </td>
</tr>
</table>
<table width="730" class="product">
<?php foreach ($order['product'] as $product) { ?>
<tr>
<td width="37" valign="top"> </td>
<td width="37" height="202" valign="top"><?php echo $product['quantity']; ?></td>
<td width="327" valign="top"><?php echo $product['name']; ?></td>
<td width="56" valign="top"><?php foreach ($product['option'] as $option) { ?></td>
<td width="58" valign="top"><small> - <?php echo $option['name']; ?>: <?php echo $option['value']; ?></small><?php } ?></td>
<td width="49" valign="top"><?php echo $product['model']; ?></td>
<td width="56" valign="top"><?php echo $product['price']; ?></td>
<td width="74" align="right" valign="top"><?php echo $product['total']; ?></td>
</tr>
<?php } ?>
<?php foreach ($order['voucher'] as $voucher) { ?>
<tr>
<td align="right"> </td>
<td align="right"><?php echo $voucher['description']; ?></td>
<td align="right"></td>
<td align="right"></td>
<td align="right"></td>
<td align="right"></td>
<td align="right"></td>
<td align="right"></td>
</tr>
<?php } ?>
<?php foreach ($order['total'] as $total) { ?>
<tr>
<td align="right"></td>
<td align="right"></td>
<td align="right"> </td>
<td colspan="3" align="right"><b><?php echo $total['title']; ?>:</b></td>
<td colspan="2" align="right"><?php echo $total['text']; ?></td>
</tr>
<?php } ?>
</table><table width="730" align="left">
<tr align="right" class="heading">
<td><?php
$miktar = $total['text'];
$yenimiktar = str_replace("TL","",$miktar);
$yenimiktar2 = str_replace(" ","",$yenimiktar);
$yenimiktar3 = str_replace(",","",$yenimiktar2);
?>
<?php echo 'YALNIZ'. $yaziyla->yaz($yenimiktar3); ?>
</td>
</tr></table>
</p>
</div>
<?php } ?>
</body>
</html>
Arkadaşlar sorun şu aslında ama çözemedim para birimini opencar temasınında ondalık kısmına 2 yazıdğımızda ,00 sonraki kısmı hesaplatamadım 25.00 lira ya İKİBİN BEŞYÜZ TL Diyor