2010-11-18 15 views
1

Kimsenin bu konuda yardımcı olup olmadığından emin değil misiniz?Magento - hesaplanan fiyatın üstüne yüzde ekleyiniz

Temel fiyatı değil, hesaplanan fiyatın üstüne bir yüzde eklememiz gerekir.

örn.

Baz Fiyat = £ 10

Seçim 1 Seçenek 1 + £ 10 Seçenek 2 + £ 20

Seçim 2 Seçenek 1 +% 10 Seçenek 2 +% 20

Biz baseprice + (seçim 1'den 1 numaralı seçenek) hesaplamak gerekir ve daha sonra bu alt toplamın üzerine ekleyelim (seçim 2'den seçenek 1) bu alt toplam ücrete ve temel öğeye DEĞİL.

Bu, şimdiye kadar gördüklerimizden, tüm yüzdelerin taban belleği üzerinde değil, alt toplam olarak çalışıldığından mümkün mü?

cevap

2

Kabaca, özel bir ürün türü oluşturmalısınız, böylece bu özel hesaplamayı, mağazadaki diğer ürünler için hala kullanılabilen "Basit" ürün türünü değiştirmeden sağlayabilirsiniz. Gerçek iş, fiyat modelinde yapılacaktır. yeni bir tür tanımlama

kolaydır:

<config> 
    <global> 
     <catalog> 
      <product> 
       <type> 
        <CUSTOM> 
         <label>CUSTOM PRODUCT TYPE</label> 
         <model>catalog/product_type_abstract</model> 
         <priceModel>YOURMODULE/product_type_CUSTOM<priceModel> 
        </CUSTOM> 
       </type> 
      </product> 
     </catalog> 
    </global> 
</config> 

modül aksi takdirde ürünün düzenleme sayfasında görünmez, özel tipine çeşitli fiyat ile ilgili özelliklerini atar an install script ihtiyacı var.

Bu, sınıfının Mage_Catalog_Model_Product_Type_Price dan aşağı inmesi gereken bir sınıfı beklemektedir. Yeni sınıf aşağıdaki yöntemi geçersiz olmalıdır:

protected function _applyOptionsPrice($product, $qty, $finalPrice) 

nasıl çalıştığını için ebeveynin yöntemini bakın, o zaman istediğiniz kadar çalışmasını sağlamak.

Muhtemelen tüm ürün seçeneklerinden geçeceğinizi ve iki toplamı, sabit fiyatlardan biri ve yüzde birini tutacağınızı hayal ediyorum. Sabit değeri taban fiyata ekleyin, ardından yüzde değeri ile çarpın.

Ardından, geriye kalan her şey yeni tipinizi kullanarak admin'e yeni ürünler eklemek.

+1

Kulağa çok kolay geliyor :) –