Yeni Cevap 
 
Konuyu Değerlendir
  • 1 Oy - 5 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
ACIL YARDIM - KDV Biçimlendirme
Yazar Mesaj
tuardam Çevrimdışı
Member
***

Mesajlar: 13
Katılım: Jun 2011
Rep Puanı: 0
Mesaj: #1
ACIL YARDIM - KDV Biçimlendirme
arkadaşlar opencart 1.4.9.x kullanıyorum.
Siteme ürün girerken girmiş olduğum fiyat değerinin kdv dahil fiyat olmasını istiyorum.
Şu an sitemde 100 tl girdiğim de kdv dahil 118 tl oluyor ve ekranımda şu şekilde görünüyor.

KDV Dahil : 118 TL
Fiyatı : 100 TL + KDV (Bu şekilde yazdırabildim..)

Şu şekilde yazdırmak istiyorum.

KDV Dahil : 100 TL
Fiyatı : 82 TL + KDV şeklinde yazdırmak istiyorum.
(En son düzenleme: 20-06-2011 00:33 tuardam.)
20-06-2011 00:23
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
tuardam Çevrimdışı
Member
***

Mesajlar: 13
Katılım: Jun 2011
Rep Puanı: 0
Mesaj: #2
RE: ACIL YARDIM
Cevap yok galibaaa....
21-06-2011 00:08
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
duzgun Çevrimdışı
Hizmetinizde
*******

Mesajlar: 2,323
Katılım: Jul 2008
Rep Puanı: 17
Mesaj: #3
RE: ACIL YARDIM
Basit bir şekilde yapılması gereken işlemler şu şekildedir.


1.) /catalog/language/turkish/product/product.php

Ürünlen bilgilerinin sunulduğu sayfanın dil dosyasına aşağıdaki satırı ekleyiniz.

PHP Kod:
$_['text_price_intax']    = 'KDV Dahil:'

2.) /catalog/controller/product/product.php

Dosyasında kullanılacak değişkenlerin template kullanımı için tahsis edilmesi gerekir. Bunun için öncelikle dil dosyasında tanımını yaptığımız text_price_intax değişkeninin tanımını yapmalıyız.

PHP Kod:
$this->data['text_price'] = $this->language->get('text_price'); 

Bu dosyada yukarıdaki satırı bulunuz ve aşağıdaki ile değiştiriniz.

PHP Kod:
$this->data['text_price'] = $this->language->get('text_price');
$this->data['text_price_intax'] = $this->language->get('text_price_intax'); 

Görüldüğü gibi template dosyasında bu değer aktarımıyla artık $text_price_intax adlı bir değişken kullanabiliriz ve bunun değeride dil dosyasında yazılan "KDV Dahil:" tanımı olacaktır.

Yine template dosyamıza baktığımızda fiyat yazımı $price ve $special ile yapıldığı için controllerde bu ifadenin karşılığı $this->data['price'] ve $this->data['special'] olan kısımlara dikkat etmemiz gerekir.
Bununla iligli incelediğimizde aşağıdaki satırlar göze çarpmakta ve bu değer aktarımları yaptıkları anlaşılmaktadır.
PHP Kod:
if ($discount) {
$this->data['price'] = $this->currency->format($this->tax->calculate($discount$product_info['tax_class_id'], $this->config->get('config_tax')));

$this->data['special'] = FALSE;
} else {
$this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));

$special $this->model_catalog_product->getProductSpecial($this->request->get['product_id']);

if (
$special) {
$this->data['special'] = $this->currency->format($this->tax->calculate($special$product_info['tax_class_id'], $this->config->get('config_tax')));
} else {
$this->data['special'] = FALSE;
}


yukarıdaki kodlarda örneğin $this->tax->calculate($special, $product_info['tax_class_id'], $this->config->get('config_tax')) şeklinde fiyatlara tax eklendii görülebilir. o halde kdv siz fiyat gösterilmek isteniyorsa $this->tax->calculate() metodunu çağırmaya gerek yoktur.

bu nedenle yukarıdaki kodlardan sonra kdv siz halininde hesaplanması için aşağıdaki kodları devamına eklemeliyiz.

PHP Kod:
if ($discount) {
$this->data['price_notax'] = $this->currency->format($discount);

$this->data['special_notax'] = FALSE;
} else {
$this->data['price_notax'] = $this->currency->format($product_info['price']);

$special $this->model_catalog_product->getProductSpecial($this->request->get['product_id']);

if (
$special) {
$this->data['special_notax'] = $this->currency->format($special);
} else {
$this->data['special_notax'] = FALSE;
}


bu yazım biçiminde örneğin $this->currency->format($special); şekilinde kullanımla vergisiz halini yazmış olduk.

Yaptığımız işlem ise template dosyasındakullanmak üzere vergi hesaplanarak oluşturulmuş $price ve $special değişkenleri dışında vergisiz hallerini istediğimiz için

bu değişkenlerin sonuna _notax ekleyerek yazdık ve artık template dosyasında $price_notax ve $special_notax şeklinde bunları kullanabiliriz.

3.) /catalog/view/theme/default/template/product/product.tpl

Son olarak geriye template dosyasında sadece gösterim biçimi yazmakla işi sonlandırmak kalıyor.

PHP Kod:
<?php if ($display_price) { ?>
....
<?php ?>

bu dosyada yukarıdaki kodlar arasında kalan aşağıdaki kodları bulunuz.

PHP Kod:
<tr>
<
td><b><?php echo $text_price?></b></td>
<td><?php if (!$special) { ?>
<?php 
echo $price?>
<?php 
} else { ?>
<span style="text-decoration: line-through;"><?php echo $price?></span> <span style="color: #F00;"><?php echo $special?></span>
<?php ?></td>
</tr> 


bu kod bloğunu aşağıdaki şekilde tekrar yazarsanız istediğiniz elde etmiş olacaksınız.
PHP Kod:
<tr>
<
td><b><?php echo $text_price?></b></td>
<td><?php if (!$special_notax) { ?>
<?php 
echo $price_notax?>
<?php 
} else { ?>
<span style="text-decoration: line-through;"><?php echo $price_notax?></span> <span style="color: #F00;"><?php echo $special_notax?></span>
<?php ?> + KDV </td>
</tr>

<tr>
<td><b><?php echo $text_price_intax?></b></td>
<td><?php if (!$special) { ?>
<?php 
echo $price?>
<?php 
} else { ?>
<span style="text-decoration: line-through;"><?php echo $price?></span> <span style="color: #F00;"><?php echo $special?></span>
<?php ?></td>
</tr> 

Bu işlem sonunda aşağıdaki screenshot gibi bir görüntü elde edeceksiniz.

[Resim: opencart_KDV.gif]

Diğer bölümlerdeki düzenlemeleride aynı mantıkla yapabilirsiniz.

Kolay gelsin.
21-06-2011 01:39
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
duzgun Çevrimdışı
Hizmetinizde
*******

Mesajlar: 2,323
Katılım: Jul 2008
Rep Puanı: 17
Mesaj: #4
RE: ACIL YARDIM
Sizin yapmak istediğiniz biraz daha farklı bir olay. Yukarıdaki anlatım işin mantığını anlamanız açısından faydalı olacaktır.

Bazı E-ticaret siteleri Vergi uygulamasını devre dışı bırakarak diğer şekliyle vergi hesabını faturada dahil göstermeyerek tamamen vergili fiyat üzerinden çalışabilmektedir.
Bu tip durumlarda toplam sipariş bölümünden vergi modülü kaldırıp ve Admin->sistem->genel ayarlardan seçenek tabındaki Vergi Oranlarını Göster bölümüne hayır denilerek vergi durum dışı bırakılabilir.

Bu şekilde yapılan bir ayarlamada ürünlerin gösteriminde KDV dahil ibresine yer verilmek isteniyorsa yukarıdaki anlatımda yer alan bölümü

PHP Kod:
if ($discount) {
$this->data['price_notax'] = $this->currency->format($discount);

$this->data['special_notax'] = FALSE;
} else {
$this->data['price_notax'] = $this->currency->format($product_info['price']);

$special $this->model_catalog_product->getProductSpecial($this->request->get['product_id']);

if (
$special) {
$this->data['special_notax'] = $this->currency->format($special);
} else {
$this->data['special_notax'] = FALSE;
}



Yukarıdaki kodları aşağıdaki biçimde yazmak yeterli olmaktadır.

PHP Kod:
if ($discount) {
$this->data['price_notax'] = $this->currency->format($discount - (($this->tax->has($product_info['tax_class_id']))?$discount*$this->tax->getRate($product_info['tax_class_id']) / 100:0));

$this->data['special_notax'] = FALSE;
} else {
$this->data['price_notax'] = $this->currency->format($product_info['price']- (($this->tax->has($product_info['tax_class_id']))?$product_info['price']*$this->tax->getRate($product_info['tax_class_id']) / 100:0));

$special $this->model_catalog_product->getProductSpecial($this->request->get['product_id']);

if (
$special) {
$this->data['special_notax'] = $this->currency->format($special- (($this->tax->has($product_info['tax_class_id']))?$special $this->tax->getRate($product_info['tax_class_id']) / 100:0));
} else {
$this->data['special_notax'] = FALSE;
}


Bu yöntem de kendine özgü fiyat sunumu yapan sistemlerde kullanılabilir.

Bunun dışında size en uygun olarak düşündüğüm yöntemi karışıklık olmaması için bir sonraki mesajda yazıyorum.
21-06-2011 02:45
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
duzgun Çevrimdışı
Hizmetinizde
*******

Mesajlar: 2,323
Katılım: Jul 2008
Rep Puanı: 17
Mesaj: #5
RE: ACIL YARDIM
Sizin asıl yapmak istediğiniz admin bölümünde net fiyat girişi ve sonrasında kdv seçimiyle ürün girilen halinden farklı olarak girilen fiyatın kdv dahil olarak yazılmasıdır. Diğer adı ile kdv nin bu fiyattan otomatik düşürülüp sisteme girilmesi olabilir.

Bu durumda da yapmak istediğiniz olay tamamıyla admin bölümünü ilgilendiren bir konudur

Admin bölümünde ürün girişinde yapılacak bir modifikasyonla ancak bu mümkün olmaktadır.

Bunun için aşağıdaki konuları incelemenizi tavsiye ederim.

http://forum.opencart.com/viewtopic.php?...126#p89300
Çeviri : http://translate.google.se/translate?hl=...6%23p89300

http://forum.opencart.com/viewtopic.php?f=23&t=11285
Çeviri: http://translate.google.com.tr/translate...6t%3D11285
21-06-2011 02:58
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
tuardam Çevrimdışı
Member
***

Mesajlar: 13
Katılım: Jun 2011
Rep Puanı: 0
Mesaj: #6
Question RE: ACIL YARDIM - KDV Biçimlendirme
Çok sağol aynen değidiğin gibi yaptım olumlu sonuç aldım. Ama product sayfasında kdv ekleyerek gösteriyordu. İkinci mesajında yazdığın kodları şu şekilde diğiştirdim oldu.

if ($discount) {
$this->data['price'] = $this->currency->format($discount);

$this->data['special'] = FALSE;
} else {
$this->data['price'] = $this->currency->format($product_info['price']);

$special = $this->model_catalog_product->getProductSpecial($this->request->get['product_id']);

if ($special) {
$this->data['special'] = $this->currency->format($special);
} else {
$this->data['special'] = FALSE;
}
}

Tekrar Çok Teşekkürler...
(En son düzenleme: 26-06-2011 21:42 tuardam.)
26-06-2011 14:50
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
ozkiremitci Çevrimdışı
Member
***

Mesajlar: 34
Katılım: Nov 2011
Rep Puanı: 0
Mesaj: #7
RE: ACIL YARDIM - KDV Biçimlendirme
Malesef ben bir yerde takıldım. opencart 1.5.1.3 sürümünü kullanıyorum, bende ki eğer koşulunun içerdiği kodlama yapısı farklı...

PHP Kod:
        if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                
$this->data['price'] = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
            } else {
                
$this->data['price'] = false;
            }
                        
            if ((float)
$product_info['special']) {
                
$this->data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
            } else {
                
$this->data['special'] = false;
            }
            
            if (
$this->config->get('config_tax')) {
                
$this->data['tax'] = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']);
            } else {
                
$this->data['tax'] = false;
            }
            
            
$discounts $this->model_catalog_product->getProductDiscounts($this->request->get['product_id']);
            
            
$this->data['discounts'] = array(); 
            
            foreach (
$discounts as $discount) {
                
$this->data['discounts'][] = array(
                    
'quantity' => $discount['quantity'],
                    
'price'    => $this->currency->format($this->tax->calculate($discount['price'], $product_info['tax_class_id'], $this->config->get('config_tax')))
                );
            } 
Burada ki kodlarda eklemeyi nereye yapacağımı çözemedim. Sanırım aldığım hata da bundan dolayı kaynaklanıyor. Aşağıdaki resimden değişken hatalarını gösterdim.

[Resim: kdv-dahil-hatasi.jpg]

http://about.me/ozkiremitci
18-11-2011 18:53
Kullanıcının websitesini ziyaret et Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
duzgun Çevrimdışı
Hizmetinizde
*******

Mesajlar: 2,323
Katılım: Jul 2008
Rep Puanı: 17
Mesaj: #8
RE: ACIL YARDIM - KDV Biçimlendirme
Opencart 1.5.3.1 sürümünde bu işlemi çok daha kolay bir yöntemle yapabilirsiniz.

catalog/view/theme/default/template/product/product.tpl

dosyasını açacak olursanız aşağıdaki satırı görebilirsiniz

PHP Kod:
<?php if ($tax) { ?>
<span class="price-tax"><?php echo $text_tax?> <?php echo $tax?></span><br />
<?php ?>

yukarıdaki blok un işlemesi için /catalog/controller/product/product.php controller dosyasında bir durum sorgulanıyor oda get('config_tax') durumu yani yönetim panelinde tax(vergi) true olduğunda işliyor.

eğer true ise yapmanız gereken sadece

product/product.php dil dosyasına
PHP Kod:
$_['text_price_intax']    = 'KDV Dahil:'
satırını ekleyip product controllerine bunuda tanımlamak. bu işlem yukarıdaki eski sürüme göre anlatıldığı gibi uygulanacak.

sonrasında product.tpl dosyasında aşağıdaki satırı

PHP Kod:
<div class="price"><?php echo $text_price?>
        <?php if (!$special) { ?>
        <?php echo $price?>
        <?php } else { ?>
        <span class="price-old"><?php echo $price?></span> <span class="price-new"><?php echo $special?></span>
        <?php ?>
        <br />
        <?php if ($tax) { ?>
        <span class="price-tax"><?php echo $text_tax?> <?php echo $tax?></span><br />
        <?php ?>

aşağıdaki gibi değiştirmek yeterlidir.

PHP Kod:
        <div class="price">
        <?
php if ($tax) { ?>
        <span class="price-tax"><?php echo $text_price?> <?php echo $tax?> + KDV</span><br />
        <?php ?>
      <?php echo $text_price_intax ?>
        <?php if (!$special) { ?>
        <?php echo $price?>
        <?php } else { ?>
        <span class="price-old"><?php echo $price?></span> <span class="price-new"><?php echo $special?></span>
        <?php ?>
        <br /> 

sonuç itibariyle aynı görüntü alınmış olacaktır. sizlerde yerleri değiştirerek daha değişik görünümler kazandırabilirsiniz.

kolay gelsin.
18-11-2011 23:38
Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
ozkiremitci Çevrimdışı
Member
***

Mesajlar: 34
Katılım: Nov 2011
Rep Puanı: 0
Mesaj: #9
RE: ACIL YARDIM - KDV Biçimlendirme
Anlattığın gibi yaptım, hata almadığım gibi çalıştıda Smile

Bir şeye dikkat ettim de, arkadaşın sorusuna vermiş olduğun 2. cevabını dil dosyasındaki "product.php"' nin "$_['text_price'] = 'Fiyatı:';" değişkenini 'KDV Dahil Fiyatı' olarak değiştirip göstermek istediğimiz değeri hesaplatma yapmadan da gösterbiliyoruz. Basit bir değişim ama faturayı site üzerinden almayanlar ve yönetici panelinde 'Vergi Oranlarını Göster' kapalı olduğunda işe yarıyor.

Buraya kadar birkaç görüşümü paylaştım, şimdi konumuza gelecek olursak. Anladığım kadarıyla, biz Kdv' li fiyatını girdiğimiz ürünün, 'Kdv Dahil' de gösterilmesini ve 'Kdv Hariç' fiyatının sistem tarafından hesaplatılmasını istiyoruz. Opencart varsayılan sisteminde ise bizim verdiğimiz fiyattan "KDV DAHİL" tutarı hesaplatılıyor. Acaba bu değişkeni istediğimiz yönde kullanarak ters mantıkta çalıştıramaz mıyız?

http://about.me/ozkiremitci
(En son düzenleme: 22-11-2011 03:48 ozkiremitci.)
22-11-2011 03:43
Kullanıcının websitesini ziyaret et Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
SoWaLYe Çevrimdışı
Web Master
***

Mesajlar: 28
Katılım: Nov 2011
Rep Puanı: 0
Mesaj: #10
RE: ACIL YARDIM - KDV Biçimlendirme
ben yaptım fakat KDV Dahil fiyatını gösterdi Normal Fiyatını yazmadı
26-11-2011 16:24
Kullanıcının websitesini ziyaret et Bu kullanıcının gönderdiği tüm mesajları bul Bu mesajı alıntı yap
Yeni Cevap 


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  Opencart Sürüm 2.1.0.2 SSL kurulumu gerçekleştiremiyorum... YARDIM LÜTFEN!! ynr1905 1 3,337 05-04-2017 17:09
Son Mesaj: sokarex
  Aynı gün kargo ile ilgili yardım.. painersin 1 2,253 08-07-2013 16:32
Son Mesaj: mattmedya

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi