Oscommerce Türkçe İndir
Cevapla 
 
Derecelendir
  • 4 Oylar - 5 Yüzde
  • 1
  • 2
  • 3
  • 4
  • 5
Çoklu Para Birimi Kullanımı Modülü
Yazar Mesaj
tecer Çevrimdışı
Senior Member
*****

Mesajlar: 121
Katılma Tarihi: Jul 2008
Rep Puanı: 0
Mesaj: #31
RE: == Çoklu Para Birimi Kullanımı Modülü ==
Son hata ama para birimini kurduktan sonra oldu :S nasil duzeltebilirim acaba ?
Hangi dosyadan kaynaklaniyor? Stylesheetle hic oynamadim.
16-09-2008 22:10
Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
tecer Çevrimdışı
Senior Member
*****

Mesajlar: 121
Katılma Tarihi: Jul 2008
Rep Puanı: 0
Mesaj: #32
RE: == Çoklu Para Birimi Kullanımı Modülü ==
Bu sorunuda cözdüm, ama yine sorun var. Her ürün 0 olarak gozukuyor.

Nedendir bilmiyorum, ama standard olarak us dolara cevirmis. Yerellestirme/Para Birimleri kisminda varsayilan olarak YTL var.

Kendim ytle cevirdigim an ytl fiyatlari gosteriyor, ancak dolarda sifir. Dolar ve YTL anda hic gostermiyor.

Kafam karisti, bunun amaci aslinda ikisini birden gostermek degilmiydi?

Ayrica adminde urun ekleyince, euro, dolar ve ytl bir cok kez tekrarlanmis (ekte gorebilirsiniz)


Ekli Dosya(lar)
.jpg  screen.JPG (Boyut: 9.03 KB / İndirme: 40)
.jpg  screen2.JPG (Boyut: 39.17 KB / İndirme: 34)
(Bu Mesaj 16-09-2008 23:01 değiştirilmiştir. Değiştiren : tecer.)
16-09-2008 23:00
Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
snowbird Çevrimdışı
Administrator
*******

Mesajlar: 721
Katılma Tarihi: Jul 2008
Rep Puanı: 6
Mesaj: #33
RE: == Çoklu Para Birimi Kullanımı Modülü ==
/admin/includes/classes/currencies.php yi doğru değiştirdinizmi. Aşağıdaki koyu renkli satırı kontrol ediniz.

Veya paketeki bulunan dosyayı üzerine yazabilirsiniz.

// class constructor
function currencies() {
$this->currencies = array();
$this->currencies_cv = array();

Bu nedenle fiyatların sıfır çıkması hangi para birimi ID si alınacağıu bilinmediğinden olabilir.
16-09-2008 23:52
Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
ukala10 Çevrimdışı
Member
***

Mesajlar: 10
Katılma Tarihi: Jul 2008
Rep Puanı: 1
Mesaj: #34
RE: == Çoklu Para Birimi Kullanımı Modülü ==
snowbird Yazılan:sitede USD, EUR, Ytl hepsini göstermek tabiki mümkün ama bu herkesin isteyeceği bir durum değil. neticede bu kafa karıştırır müşteride. Türkiyede YTL ile ürünler alınıp satılacağı için müşteri tarafında YTL gösterimi yeterli ama istenirse yukarda yazdığım gibi orjinal par birimide ayrıca gösterilebilir

Burdaki temel sorun alışveriş sepetinde birden fazla para birimine ait ürün bulundurmak pek akıl karı değil parayı tahsil ederken tek kur üzerinden yapılması gerekli. Kullanıcının sepetindeki ürünlerin bir kısmı YTL bir kısmı EUR olursa bunu kredi kartıyla nasıl tahsil ettirebilirsiniz. Sonuçta tek bir kur fiyatı üzerinden satılması gerekli ürünlerin.
17-09-2008 08:42
Web Sayfasını Ziyeret Edin Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
ukala10 Çevrimdışı
Member
***

Mesajlar: 10
Katılma Tarihi: Jul 2008
Rep Puanı: 1
Mesaj: #35
RE: == Çoklu Para Birimi Kullanımı Modülü ==
Bu eklentiye yakın bir düzenleme de ben yapmıştım tabi müşteri bu isteğini başlagıçta belirtmediğinde sonradan bir gecede kaçak gecekontu yapar gibi yapılmıştı. O yaptığım sistemde aktif kur mevcuttu belirli saatler arasında siteye giren ilk ziyaretci kurların ve kurlara bağlı olarak fiyatlarında güncellenmesini sağlıyordu.
Uygulamadan örnek kodlar. Projeyi geliştiren arkadaşa fikir verebilir.
application_top.php dosyasının sonuna...
PHP Kod:
$saat_basla="09:00";
  
$saat_bitir="23:59";
  
$saat_suan=date("H:i");
  
$suan=strtotime($saat_suan);
  
$basla=strtotime($saat_basla);
  
$bitir=strtotime($saat_bitir);
if((
$suan>$basla) & ($suan<$bitir)) {
// Günlük veri girilmiş mi bakılıyor
$bugun_tarih=date("Y-m-d");
$bugunun_kur_bilgileri=mysql_query("SELECT * FROM gunluk_kurlar WHERE tarih='".$bugun_tarih."'");
$bugunun_kur_bilgileri_varmi=mysql_num_rows($bugunun_kur_bilgileri);
// kur bilgileri yoksa
if($bugunun_kur_bilgileri_varmi==0) {
  
# Tercih edilen dovizler?
  
$currency_aeb = array(
     
"USD" => "",
     
"EUR" => "");

  
# Donusum tablosu (tercih edilen alanlar)
  
$convert = array(
     
"isim"            => "isim",
     
"forexbuying"     => "forexbuying",
     
"forexselling"    => "forexselling",
     
"banknotebuying"  => "banknotebuying",
     
"banknoteselling" => "banknoteselling",
     
"crossrateusd"    => "crossrateusd"
     
);

  
# Doviz bilgilerini al ..
  
$content file_get_contents("http://www.tcmb.gov.tr/kurlar/today.xml");
  foreach(
$currency_aeb as $code => $arr){
     
preg_match("'<currency Kod=\"(".$code.")\".*>(.*)</currency>'Uis",$content,$crst);
     foreach(
$convert as $field => $value){
        
preg_match("'<".$field.">(.*)</".$field.">'Uis",$crst[2],$frst);
        
$currency_aeb[$code][$value] = $frst[1];
        }
     }

  
# Doviz disizi (bakalim olmusmu)
  //echo "<pre>".print_r($currency,true)."</pre>";
  
$usd_kur =1/$currency_aeb["USD"]["banknoteselling"];
  
$eur_kur =1/$currency_aeb["EUR"]["banknoteselling"];
  
 
// Kurlar güncelleniyor
   
tep_db_query("UPDATE currencies SET value='".$usd_kur."' WHERE code='USD'");
   
tep_db_query("UPDATE currencies SET value='".$eur_kur."' WHERE code='EUR'");  
   
  
// Ver db ye kayit aktariliyor
tep_db_query("INSERT INTO gunluk_kurlar (tarih, USD, EUR) VALUES ('".$bugun_tarih."', '".$usd_kur."', '".$eur_kur."')");

  
  
// Ve fiyatlar güncelleniyor
  
  // Kurlar

//TRY
$ytl_kur=mysql_result(mysql_query("Select * from currencies where code ='TRY'"),0,"value");

//EURO
$euro_kur=mysql_result(mysql_query("Select * from currencies where code ='EUR'"),0,"value");

//USD
$usd_kur=mysql_result(mysql_query("Select * from currencies where code ='USD'"),0,"value");


//

$urunler=mysql_query("SELECT * FROM `products` WHERE products_status=1");
                    
$euro_urun=0;
                    
$usd_urun=0;
// mevcut veritabanında aynı ürüne ait usd ve eur fiyatı product tablosunda alan olan olarak eklenmiştir. hangi alanda fiyat tanımlıysa ona göre fiyat güncellenmesi yapılmakta.
                    
while($rss mysql_fetch_assoc($urunler)) { 

                    
// Euro kuruna göre fiyat güncelleme
                    
if($rss["products_price_euro"]>&& $rss["products_price_usd"]==0) {
                
                    
$yeni_fiyat=number_format($rss["products_price_euro"]*($ytl_kur/$euro_kur),4,'.','');
                    
mysql_query("UPDATE products SET products_price = '".$yeni_fiyat."' WHERE products_id ='".$rss["products_id"]."'");
//                    echo $rss["products_id"]."<br>";
                    
$euro_urun++;
                    
// Dolar kruuna göre fiyat güncelleme
                    
} else if($rss["products_price_euro"]==&& $rss["products_price_usd"]>0) {
                    
                    
$yeni_fiyat=number_format($rss["products_price_euro"]*($ytl_kur/$euro_kur),4,'.','');
                    
mysql_query("UPDATE products SET products_price = '".$yeni_fiyat."' WHERE products_id ='".$rss["products_id"]."'");
                    
$usd_urun++;
                    
                    }
                    

                    }

/*echo "<h2>Toplam ".$euro_urun." ürünün EURO fiiati üzerinden TRY fiyatý güncellendi.</h2>";
echo "<h2>Toplam ".$usd_urun."ürünün USD fiyati üzerinden TRY fiyati güncellendi.</h2>";*/

$tep_href=tep_href_link("index.php");
header('refresh: 1; url='.$tep_href.'');
exit;
}


Bu yukardaki kodlama benim yapmış olduğum çalışmaya aittir. Sadece Çoklu Para Birimi Kullanımı Modülünün geliştirilmesine katkıda bulunması için verilmiştir.
17-09-2008 09:07
Web Sayfasını Ziyeret Edin Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
tecer Çevrimdışı
Senior Member
*****

Mesajlar: 121
Katılma Tarihi: Jul 2008
Rep Puanı: 0
Mesaj: #36
RE: == Çoklu Para Birimi Kullanımı Modülü ==
Snowbird sorunu duzeltemedim, ayrica Duzgun´de sorun göremediSad
17-09-2008 22:20
Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
snowbird Çevrimdışı
Administrator
*******

Mesajlar: 721
Katılma Tarihi: Jul 2008
Rep Puanı: 6
Mesaj: #37
RE: == Çoklu Para Birimi Kullanımı Modülü ==
admindeki /classes/currencies.php buraya içeriğini yazarmısın
18-09-2008 00:03
Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
tecer Çevrimdışı
Senior Member
*****

Mesajlar: 121
Katılma Tarihi: Jul 2008
Rep Puanı: 0
Mesaj: #38
RE: == Çoklu Para Birimi Kullanımı Modülü ==
PHP Kod:
<?php
/*
  $Id: currencies.php,v 1.3 2003/06/20 16:23:08 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

////
// Class to handle currencies
// TABLES: currencies
  
class currencies {
    var 
$currencies;

// class constructor
    
function currencies() {
      
$this->currencies = array();
      
$this->currencies_cv = array();
      
$currencies_query tep_db_query("select currencies_id, code, title, symbol_left, symbol_right, decimal_point, thousands_point, decimal_places, value from " TABLE_CURRENCIES);
      while (
$currencies tep_db_fetch_array($currencies_query)) {
        
$this->currencies[$currencies['code']] = array('title' => $currencies['title'],
                                                       
'symbol_left' => $currencies['symbol_left'],
                                                       
'symbol_right' => $currencies['symbol_right'],
                                                       
'decimal_point' => $currencies['decimal_point'],
                                                       
'thousands_point' => $currencies['thousands_point'],
                                                       
'decimal_places' => $currencies['decimal_places'],
                                                       
'currencies_id' => $currencies['currencies_id'],
                                                       
'value' => $currencies['value']);

        
$this->currencies_cv[$currencies['currencies_id']] = array('code'  => $currencies['code'],
                                                                   
'value' => $currencies['value']);
      }
    }

// class methods
    
function format($number$calculate_currency_value true$currency_type DEFAULT_CURRENCY$currency_value '') {
      if (
$calculate_currency_value) {
        
$rate = ($currency_value) ? $currency_value $this->currencies[$currency_type]['value'];
        
$format_string $this->currencies[$currency_type]['symbol_left'] . number_format($number $rate$this->currencies[$currency_type]['decimal_places'], $this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point']) . $this->currencies[$currency_type]['symbol_right'];
      } else {
        
$format_string $this->currencies[$currency_type]['symbol_left'] . number_format($number$this->currencies[$currency_type]['decimal_places'], $this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point']) . $this->currencies[$currency_type]['symbol_right'];
      }

      return 
$format_string;
    }

    function 
get_value($code) {
      return 
$this->currencies[$code]['value'];
    }

    function 
get_value_from_id($currencies_id) {  // added by snowbird
      
return $this->currencies_cv[$currencies_id]['value'];
    }

    function 
get_code($currencies_id) {  // added by snowbird
      
return $this->currencies_cv[$currencies_id]['code'];
    }

    function 
display_price($products_price$currencies_id$products_tax 0$quantity 1$currency_type DEFAULT_CURRENCY) {
      return 
$this->format(tep_round(tep_add_tax($products_price$products_tax), $this->currencies[$currency_type]['decimal_places']) * $quantitytrue$currency_type$this->get_value_from_id($currencies_id));
    }

  }
?>
18-09-2008 00:47
Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
snowbird Çevrimdışı
Administrator
*******

Mesajlar: 721
Katılma Tarihi: Jul 2008
Rep Puanı: 6
Mesaj: #39
RE: == Çoklu Para Birimi Kullanımı Modülü ==
-Burda bir sorun görünmüyor. Peki orjinal currencies.php yerine koyduğunda para birimleri listede gene çok çıkıyormu?

-Para birimi tanım ekranında yanlışlıkla birçok kez aynı para tanımlanmaış olabilirmi?
18-09-2008 08:57
Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
tecer Çevrimdışı
Senior Member
*****

Mesajlar: 121
Katılma Tarihi: Jul 2008
Rep Puanı: 0
Mesaj: #40
RE: == Çoklu Para Birimi Kullanımı Modülü ==
Snowbird ilgin icin cok tesekkür ederim, sanirim sorun daha kapsamli.
Bir arkadas ile cözmeye calisacaz, sorun cözülunce paylasiriz. Cozulmezse sana yine danisiriz.

Duzgun.com - Oscommerce Türkce Forumu
(Bu Mesaj 23-09-2008 01:53 değiştirilmiştir. Değiştiren : tecer.)
23-09-2008 01:53
Tüm Mesajlarını Bul Alıntı Yaparak Cevapla
« Önceki | Sonraki »
Cevapla 


Forum Atla: