Jump to content

Para Birimi Konusunda Farklı Bir Soru


sedatdogan

Recommended Posts

Merhabalar,
Umarım herkes iyidir.
Şöyle bir sorunum var,
Öncelikle kur olayını hallettim, otomatik olarak günlük kuru alıyorum.
Sitenin tamamında fiyatlar TL olarak görünsün istiyorum, lakin ürün eklerken ürünün fiyatını Euro, Dolar veya TL bazında girebilmek istiyorum.
Yani şöyle, bir ürünü TL bazında alıyorsam ben ürün eklerken TL fiyatını gireceğim, sitede yine TL görünecek.
Dolar bazında alıyorsam, dolar fiyatını gireceğim, sitede TL görünecek.
Şuan ki sorun şu:
Ödemeler sayfasından default para birimini değiştirdiğimde,
Ben ürünü 1750 dolar olarak eklediysem, 1750 TL ye dönüyor birden.
Ben bunu istemiyorum.
Kısacası ürün ekleme sayfasında ürünü hangi para biriminde eklemek istediğimi seçebileceğim bir field.
Mümkün müdür?

Saygılar.
Sedat Doğan

Link to comment
Share on other sites

  • 4 months later...

Merhaba;
multi currency 1.2 ve alt versiyonlarda yok. Dolayısı ile istediğiniz şeyi prestashop çekirdeği ile yapamazsınız. 1.3 de bu yetenek olacak diye bildirildi ama açıkçası daha göremedik.
force currency diye bir modül var. Bunun gibi bir iki modül daha var ama çok kullanışlı değiller. Her ödeme modülünde düzgün çalışmıyorlar. Ödeme modüllerini bu modullere göre düzenlerseniz sorun yaşamıyorsunuz.
kolay gelsin

Link to comment
Share on other sites

Güzel ama Smarty den bahsedilmiyor burada. Çoklu para birimi kullanmaktan (her ürün için farklı birim kullanabilmek) bahsediliyor.
Ki o kod kurlar arası dönüşüm yapmaz, sadece $smarty->ps_currency ye göre dönüştürülmüş halini gösterir.
tabi eğer $cookie->id_currency kullanılabiliyorsa ve

if ($this->id == Configuration::get('PS_CURRENCY_DEFAULT'))

değilse.

:)
Link to comment
Share on other sites

işte havale indirimdede aynı sorun oluyor . sanırım bunu kredi kartı modülü için soruyor arkadaş. bankaya giden tutar da oynama yaparken bununla tl ye çeviriyoruz. ama validteorder function ında sepetteki tutarı aktarıyoruz.

validateOrder($cart->id,  _PS_OS_PAYMENT_, $total, $estpay->displayName, NULL, $mailVars, $currency->id);

işte bunu havale veya diğer modüllerde indirim söz konusu olduğunda , $total değişkeni 100 liralık ürün için 90 tl gönderirse eksik ödendi diye hata veriyor. bunun nedeni. classes/PaymentModule.php içinde tanımlı olan

function validateOrder($id_cart, $id_order_state, $amountPaid, $paymentMethod = 'Unknown', $message = NULL, $extraVars = array(), $currency_special = NULL, $dont_touch_amount = false)

bu funcion düzenliyerek olayı hallettim ama bu seferde eksik ödendiğinde hata vermiyecek. kredi kartı ile ödeme de vade farkıyla oluşan farkı işte yukarda yazıdğım kodla çevirip bankaya post ediyoruz ama validate in içindeki $total ı yeniden hesaplatırıyoruz. aynı şeyi banka havalesi için yaparız ancak bu sefer 90 tl ödeyen müşteri 100 tl ödemiş görünecek.
maybe this property feture:)
http://www.prestashop.com/bug_tracker/view/3044/

Link to comment
Share on other sites

Merhabalar,

Ödemeler sayfasından default para birimini değiştirdiğimde,
Ben ürünü 1750 dolar olarak eklediysem, 1750 TL ye dönüyor birden.
Ben bunu istemiyorum.

bu hatayı hangi ödeme modülünde alıyorsun???
içindeki defoult ödeme modüllerinde böyle bir hata yok. varsada ben göremedim?????
Link to comment
Share on other sites

bu funcion düzenliyerek olayı hallettim ama bu seferde eksik ödendiğinde hata vermiyecek. kredi kartı ile ödeme de vade farkıyla oluşan farkı işte yukarda yazıdğım kodla çevirip bankaya post ediyoruz ama validate in içindeki $total ı yeniden hesaplatırıyoruz. aynı şeyi banka havalesi için yaparız ancak bu sefer 90 tl ödeyen müşteri 100 tl ödemiş görünecek.
maybe this property feture:)
http://www.prestashop.com/bug_tracker/view/3044/

Basar abinin havale indirim modülü 1.1 de çalışıyordu. 1.2 de aynen bahsettiğin sorun var. Tam ödeme modüllerinin
execPayment($cart)
fonksiyonunda en başa indirim girip, fonksiyonun sonuna (validate order dan sonra )indirim iptali girince çalışması gerekiyor, ama $cart ile ilgili değişiklik yapınca herşey birbirine giriyor.
Link to comment
Share on other sites

teori olarak ürünün niteliğine önceden bir tane $ sekmesi eklesek ve bir hook çalıştırsak, eğer bu ürünün niteliğinde $ işareti varsa git daha önce aldığın dolar kuru ile çarp ve dönüştürerek yansıt.
Sonrasında productlarda hep dönüştürülmüş Tl karşılığı gözükür ve sepete de tl olarak eklenir.
mümkünmü böyle bir kod yazmak ?

Link to comment
Share on other sites

teori olarak ürünün niteliğine önceden bir tane $ sekmesi eklesek ve bir hook çalıştırsak, eğer bu ürünün niteliğinde $ işareti varsa git daha önce aldığın dolar kuru ile çarp ve dönüştürerek yansıt.
Sonrasında productlarda hep dönüştürülmüş Tl karşılığı gözükür ve sepete de tl olarak eklenir.
mümkünmü böyle bir kod yazmak ?

behçet senin programlama mantığın çok iyi. msn den konultuğumuzda farketmiştim zaten:) şu anda bir iş geldi admlar 20 bin 30 bin dolarlık ürün satıyorlar . artık bunu yapmak farz oldu:)))
Link to comment
Share on other sites

bu arada bilgi olsun diye söylüyorum. eğer ödemeleri kredi kartı ile alacaksanız sadece TL olarak alabilirsiniz. dolar euro ile satış izni şu an türkiyede yok. ödeme alanında tl ye çevrilmiş almanı lazım.

949


949 tl için bu değer sabit gidiyor

Link to comment
Share on other sites

product sınıfına $this->curr_id diye bi değişken ekledim, ps_products tablosuna da aynı şekilde bir stun ekledim. Product sınıfına da getpricewscurr diye bir ek fonsiyon ekledim.
.tpl dosyalarını editlemeye gerek kalmadı.
admin panelde ürün girerken sayfasına da bi sorgu ile kur seçeneklerini getirdim.
Şu anda sorunsuz çalışıyor gibi görünüyor bütün ödeme yöntemlerini denedim ama bir problem yok gibi. Sadece çerezleri silip sepete atarsanız deafult kur gibi algılıyor. Sanırım currency ve cart sınıflarını da eitlemek gerekiyor ama astarı yüzünden pahalı olacak. Yani biraz daha yardırırsam 1.4 çıkaracam. :D
Eğer sepet sorununu da çözersem yaptığım bütün değişikliği not aldım buradan paylaşırım. ;)

Link to comment
Share on other sites

  • 4 weeks later...

Ödemeler sayfasından default para birimini değiştirdiğimde,
Ben ürünü 1750 dolar olarak eklediysem, 1750 TL ye dönüyor birden.
Ben bunu istemiyorum.


Safa yazının boytuna dikkat eder misin özellikle büyütülmüş ?

Ödeme sırasında $cart->id_currency veya $params['id_currency'] değişkenleri var. Bunların authorised para birimlerinin içinde olması gerekiyor. Bunu 1.2 için yönetimpanel>>ödemeler sekmesindeki ilgili modülün içinden ayarlayabiliyorsunuz.

Ayrıca link atarsanız bakabilirim.
Link to comment
Share on other sites

yazının boyutunu niye büyütüğümü hatılamıyorumda, para birimi konusunda biraz çok geliştirme yapmak lazım. prestashop kurları güncelle dediğimiz zaman
http://www.prestashop.com/xml/currencies.xml
dosyasından çekiyor bu kurlar yanlış , yani türkiyeye uygun değil. çünkü türkiyede bile bankalar aradında kurlar farklı. classes/Currency.php dosyasından güncelleme yapıyor. sanırım en doğrusu merkez bankasına veya herhangi bir banka kuruna göre ayrı bir class yazıp, bu class a uygun bir modül geliştirmek gerekecek.
saygılarımla

Link to comment
Share on other sites

  • 4 weeks later...

product.php içerisine
include_once('dovizler.php'); ekledim
dovizler_zaman.php günde birkaç kez merkez bankasından kodları çekip bir txt dosyasına yazıyor
dovizler.php dosyasını product.php ye include ettiğim için lazım olduğunda txt dosyasından okuyup, değerlendiriyor.
$kurlar_eur diye euro değerini atadım.
include_once('dovizler.php'); satırını product.php dosyasının en üstüne yazınca, $kurlar_eur değişkenini tanıyor ve echo ile doğru olarak yazdırabiliyorum.
$kurlar_eur değişkenini product.php dosyasının 1275. satırından çağırmak istediğimde tanımsız değişken diyor, ancak en üst satırda echo ile doğru olarak yazdırabiliyorum, yani 1275 de echo ile yazdıramıyorum. bu değişkeni tanısa

        if ($doviz_var == "euro")
include_once('/var/www/vhosts/sitem.com/httpdocs/doviz/dovizler.php');

        $price *= $kurlar_eur;
       echo $kurlar_eur;

       // Attribute price



kodlarını çalıştırabileceğim.
çalışınca da admin ürün ekleme yerindeki Dağıtıcı Referansına euro yazınca euro ile çarpacak, dolar yazınca dolar ile çarpacak.

yani bu $kurlar_eur değişkeni yukarıda tanınırken, aşağıda neden tanınmıyor.

Link to comment
Share on other sites

Ben aylardır aynı sorunla uğraşiyorum. Bilgilendirmek için açıklayayım Behçet.

Anladığım kadarıyla Prestashop un çekirdeği iki ayrı doviz cinsinde tamamen sapitiyor.

Sayfalarda gostermek bir yana iş ödmeye gelince adamı çıldırtıyor. Bu konuda Mahmut 'la bayagı uğraştık. Sonucta magazanın admin paneli kisminda dolar, ön yüzünde TL gostererek, gerek fiyatlar, gerekse ödemelerdeki sorunu halletik.

Ama senin dedigin gibi bazi ürunleri dolar girmek, bazilarini TL girmek, birde bunlarin hepsini ön tarafta TL cinsinden gostermek istemek bir hayli ugrastiracak seni... Ama yinde de çıkmamış candan ümit kesilmez derler. :-)

yapabilcegimiz ir sey olursa yardimci olmaya calisiriz...

Link to comment
Share on other sites

evet, admin panelde Dağıtıcı Referansı kısmına dolarla satılanlar için "dolar", euro ile satılanlar için "euro" yazıp, tl ile satılanlara birşey yazmıyorum.
sonra bunları class/product.php içinde sorguluyorum.

//        if ($doviz_var == "euro")
//        {
//        include_once('/var/www/vhosts/sitem.com/httpdocs/doviz/dovizler.php');
//        $kurlar_eur1 = @$kurlar_eur;
//        $price = $price * $kurlar_eur1;
//        echo $kurlar_eur1;
//        }

//        if ($doviz_var == "dolar")
//        {
//        include_once('/var/www/vhosts/hepsiantep.com/httpdocs/doviz/dovizler.php');
//        $kurlar_eur1 = @$kurlar_usd;
//        $price = $price * $kurlar_usd1;
//        echo $kurlar_usd1;
//        }



böylelikle dolar olanları anlık değerle çarpıyor veya euro olanları...
sorunumun çözümüne gelince değişken global olduğu için @ eklemem gerekiyordu ben atlamışım.
şimdi yeni sorun var :) onuda çözersem paylaşacağım tüm kodları

Link to comment
Share on other sites

         //    if ($doviz_var == "euro")
       //    {    
       //    include_once('/var/www/vhosts/sitem.com/httpdocs/doviz/dovizler.php');
       //    $kurlar_eur1 = @$kurlar_eur;
       //    echo $kurlar_eur1,"--";
       //    $price *= @$kurlar_eur;
       //    echo @$kurlar_eur,"-",$price;
       //    }



yukarıdaki kodun class/product.php 1270 gibi bir satırın orada çalışması lazım ama sanırım teknik bir hata yapıyor ve dovizler.php dosyasından @$kurlar_eur değişkenini çekemiyorum.

Link to comment
Share on other sites

         //    if ($doviz_var == "euro")
       //    {    
       //    include_once('/var/www/vhosts/hepsiantep.com/httpdocs/doviz/dovizler.php');
       //    $kurlar_eur1 = @$kurlar_eur;
       //    echo $kurlar_eur1,"--";
       //    $price *= @$kurlar_eur;
       //    echo @$kurlar_eur,"-",$price;
       //    }



yukarıdaki kodun class/product.php 1270 gibi bir satırın orada çalışması lazım ama sanırım teknik bir hata yapıyor ve dovizler.php dosyasından @$kurlar_eur değişkenini çekemiyorum.



abi yukardaki include bir sorun var sanırım, uzun uzun yolu yazacağına, include i kısa yoldan belirtirsen değeşkeni çakersin sanırım. yolu uzun yazdığın için o yolu tam bulamıyor sanırım.
kolay gelsin
Link to comment
Share on other sites

  • 4 weeks later...

selamun aleykum.

admin panelinde ürün fiyatı tl harici diğer kurlar ile giriş yapıldıkdan sonra sayfada ürün fiyatının tl olarak gözükmesini nasıl sağlayabiliriz..?

misal A Ürünü Satış Fiyatı : 5 $

ama bu mağazada 7.5 Tl olarak gözükecek.

hali hazırda varsayılan kur tl dir.lakin bazı ürünlerin fiyatlarını diğer kurlardan girmem gerekiyor.

birde yurtdışından giren ziyaretçiler için fiyatların otomatik olarak euro ve ya dolar kuru olarak gözükmesini sağlayabilirmiyiz.?

Link to comment
Share on other sites

esselamu aleykum.

aynı sorunu sanırım yeniden açdığım konuda soruverdim.

http://www.prestashop.com/forums/viewthread/65007/genel_sorunlar/rn_icin__farkl_kur

selamun aleykum.

admin panelinde ürün fiyatı tl harici diğer kurlar ile giriş yapıldıkdan sonra sayfada ürün fiyatının tl olarak gözükmesini nasıl sağlayabiliriz..?

misal A Ürünü Satış Fiyatı : 5 $

ama bu mağazada 7.5 Tl olarak gözükecek.

hali hazırda varsayılan kur tl dir.lakin bazı ürünlerin fiyatlarını diğer kurlardan girmem gerekiyor.

birde yurtdışından giren ziyaretçiler için fiyatların otomatik olarak euro ve ya dolar kuru olarak gözükmesini sağlayabilirmiyiz.?


inşallah en kısa zamanda bir hal çaresi bulunabilir.
Link to comment
Share on other sites

  • 2 years later...

Merhaba,

 

İlgili linki açamadım. Bu işlem için forumda arama yapıp alttaki kodu buldum. themes->header.tpl 'ye şunu ekleyip varsayılan kuru dolar olarak seçtim, ancak çalıştıramadım.

 

 

{if $cookie->id_currency neq X}

{literal}

<script>

setCurrency(X);

</script>

{/literal}

{/if}

 

Farklı bir yoldan Ürünleri dolar girip TL ile satış yapabilir miyim?

Destek Lütfen.

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 years later...

arkadaşlar bende dolar para birimi eklemek istiyorum sepette tl yada dolar olması önemli değil tl olursa çok daha iyi olur ama eklediğim ürünlern fiyatları dolar olmasını istiyorum bi türlü dolar ürün eklemeyi bulamadım yardımcı olur musunuz 

 

asıl amacım dolar ürün ekleyim ama sayfada tl görünsün ama 1.6 da çözüm bulamadım :(

Link to comment
Share on other sites

geçici çözüm buldum modülüde deneyeceğim ana kur dolar yaptım zaten ürünlerin fiyatı dolar ve tl kurda ekledim sepette kullanıcı istediği kuru seçsin :) şimdilik bu işimi görüyorum tekrardan teşekkür ederim.

Link to comment
Share on other sites

  • 6 months later...

Ek-deki modülü kullanabilirsiniz, satış kurunuzu belirler

 

dy91yt59T2999pgkGzROhYIXrF1R5W.png

 

 

Bu modül sanırım sadece satış kurunu belirliyor. 

Asıl sorun, Euro ve Dolar olan fiyatları kendi kurlarında girebilmek. 

Sonrasında bunları TL göstermek de önemli ancak, ürünleri kendi kurlarında girebileceğimiz bir modül var mı?

Link to comment
Share on other sites

Bu modül sanırım sadece satış kurunu belirliyor. 

Asıl sorun, Euro ve Dolar olan fiyatları kendi kurlarında girebilmek. 

Sonrasında bunları TL göstermek de önemli ancak, ürünleri kendi kurlarında girebileceğimiz bir modül var mı?

şuan ücretsiz bir çözüm yok bunun için

http://addons.prestashop.com/en/19253-multi-currencies-for-products-in-backoffice.html

bu modulu kullanabilirsiniz. ben kullanıyorum gayet kullanışlı bir modül.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...