Dua Opsi Kustom digabungkan: Tingkat Harga tidak berfungsi

11

Saya menyiapkan produk dan harga lapis di Magento, tetapi saya perhatikan bahwa dalam Produk Sederhana dengan Opsi Kustom (contoh: kaos biru, kaos merah), Harga Tier tidak akan berfungsi jika kami menggabungkannya untuk mencapai kuantitas.

Tingkat Harga tampaknya berfungsi hanya ketika kuantitas dicapai dari satu variasi produk, tetapi bukan kombinasi keduanya.

Saya telah membaca beberapa jawaban di Stack Overflow dan forum Magento, dan mereka merekomendasikan untuk membuat produk yang dapat dikonfigurasi. Namun ini bisa sangat sulit jika toko memiliki banyak produk, atau banyak variasi.

Apakah Anda tahu beberapa solusi untuk menerapkan Harga Tier - dengan kombinasi variasi?

Kacang kacangan
sumber
dapatkah Anda menentukan apa jenis kaos biru dan kaos merah? Apakah mereka produk tunggal tanpa hubungan di antara mereka?
Christophe Ferreboeuf
Mereka akan menjadi Pilihan Khusus ("Biru", "Merah") dari Produk Sederhana "T-Shirt". Di Magento saat ini, jika Harga Tier adalah, katakanlah, "10 atau lebih Anda mendapatkan diskon", itu akan berfungsi saat membeli 10 Merah atau 10 Blues, tetapi tidak ketika saya membeli 5 + 5 ...
Peanuts
Bagaimana Magento tahu bahwa kedua produk ini terhubung?
Christophe Ferreboeuf
Nah dalam contoh saya hanya ada 1 produk (Produk Sederhana), yang memiliki dua opsi khusus (variasi): biru dan merah. Magento tidak menghitung harga tingkat ketika Anda menambahkan dua opsi dari Produk Sederhana yang sama (kita berbicara tentang Produk Sederhana di sini, bukan Produk yang Dapat Dikonfigurasi). Untuk Produk yang Dapat Dikonfigurasi, ada ekstensi yang memungkinkan penggabungan Harga Tier ( magentocommerce.com/magento-connect/… ), tetapi sekali lagi, ini bukan kasus saya, kami memiliki terlalu banyak opsi untuk membuat produk per opsi).
Kacang
Anda akan memerlukan modul khusus untuk mencapai ini. Atau jika saya adalah Anda, saya akan mempertimbangkan untuk menggunakan produk yang dapat dikonfigurasi dengan modul tingkat harga yang Anda sebutkan.
paj

Jawaban:

11

Masalahnya di sini adalah Magento memperlakukan produk dengan opsi khusus berbeda sebagai item baris berbeda dalam keranjang. Jadi, qty untuk dua varian opsi kustom tidak pernah bertambah untuk dapat memenuhi syarat item penawaran untuk tingkat harga berjenjang tertentu.

Sekarang, membuat karya ini akan melibatkan pekerjaan kustom. Saya bisa memberi Anda petunjuk tentang di mana Anda bisa membuatnya bekerja dalam kode.

Periksa Mage_Sales_Model_Quote_Address_Total_Subtotal::collect()

Dalam metode ini Anda harus mengulang semua item kutipan dan menautkan jumlah berjenjang yang berlaku pada masing-masing item penawaran. Jadi katakanlah, Anda memiliki dua varian A dan B dengan jumlah 1 dan 3. Anda akan mengulangi item kutipan dan melakukan sesuatu seperti:

$quoteItemA->setTieredQty(1+3);
$quoteItemB->setTieredQty(1+3); //ofcourse 1 and 3 are dynamic here

Lalu masuk Mage_Sales_Model_Quote_Address_Total_Subtotal::_initItem

alih-alih menggunakan: $finalPrice = $product->getFinalPrice($quoteItem->getQty()); //on line 115 use:

$finalPrice = $product->getFinalPrice($quoteItem->getTieredQty());

Ini melibatkan pekerjaan kustom, tetapi pendekatan yang saya daftarkan harus bekerja dengan beberapa penyesuaian saat Anda mengerjakannya.

Paras Sood
sumber
4

Saya dapat mengkonfirmasi, ini berhasil

        /* hard coded - start */ 
        $cart = Mage::getModel('checkout/cart')->getQuote();
        $total_qty = 0;
        foreach ($cart->getAllItems() as $item2) {
          if ($item2->getProductId() == $quoteItem->getProductId()) $total_qty+= $item2->getQty();    
        }
        $finalPrice = $product->getFinalPrice($total_qty);
        // $finalPrice = $product->getFinalPrice($quoteItem->getQty());
        /* hard coded - end */ 
pengguna7286399
sumber