কোট (কার্ট) আইটেমগুলি ক্রমাগতভাবে কনফিগারযোগ্য এবং সাধারণ পণ্য উভয়ের জন্য নকল এসকিউগুলি দেখায় shows


10

আমি শপিং কার্টটি ব্যবহার করে পাচ্ছি:

$cart = Mage::getSingleton('checkout/session')->getQuote();

এবং তারপরে এটি ব্যবহার করে পুনরাবৃত্তি করুন:

foreach ($cart->getAllItems() as $item) { }

তবে মনে হচ্ছে একই এসকিউগুলির সাথে নকল আইটেমগুলি ফেরত দেওয়া হচ্ছে, তবে বিভিন্ন পণ্য আইডি! মূল সাইটে, আমি যখন কার্টটি খুলি, তবে এটি একক পণ্যটি দেখায়।

cart: {
    id: 680,
    items: [
        {
            name: "Tori Tank",
            price: "60.0000",
            id: "418",
            sku: "wbk004"
        },
        {
            name: "Tori Tank",
            price: "60.0000",
            id: "286",
            sku: "wbk004"
        }
    ]
}

আমার প্রশ্ন .. কেন এমন হচ্ছে? প্যারেন্ট (কনফিগারযোগ্য) পণ্যটির নিজস্ব অনন্য স্কু প্রদর্শন করা উচিত নয়?

এছাড়াও, আমি যদি কার্টে কোনও পণ্য যুক্ত করতে চাই, তবে আমি কি কনফিগারযোগ্য পণ্য যুক্ত করব? বা আমি কি সহজ পণ্য যুক্ত করব এবং ম্যাজেন্টো বাকী অংশটি পরিচালনা করবে?

উত্তর:


10

ম্যাগেন্তোর মতে, যখন কোনও কনফিগারযোগ্য পণ্য কার্টে যুক্ত হয় তখন ডাটাবেসে দুটি সারি সন্নিবেশ করা হয়। একটি কনফিগারযোগ্য পণ্য কার্ট অন্য একটি সহজ পণ্য

  • One row has configurable id and simple product SKU and parent item id is null
  • Other rows have simple id and simple product SKU and parent item id should above row id

আপনি যখন getAllItems()লুপটির জন্য ব্যবহার করছেন আপনার checkএটি হ'ল parent item $item->getParentItemId()

foreach ($cart->getAllItems() as $item) {
    / * add this */
    if ($item->getParentItemId()) {
        continue;
    }
........
}

এছাড়াও আপনি ব্যবহারকারী দৃশ্যমানতা উদ্দেশ্য জন্য Marius কোড ব্যবহার করতে পারেন
অমিত বেড়া

যদিও এখানে সমস্যা আছে .. আমি রঙ, আকার, ইত্যাদি পেতে পারি না I যখন আমি getAllVisibleItems () ব্যবহার করি। আমি এটা কিভাবে করব?
প্যাট

হ্যাঁ স্কু দ্বারা প্রোডাক্ট মডেলটি ব্যবহার করে এটি সম্ভব, কারণ স্কু দু'জনের জন্য সমান .. রাউস
অমিত বেরা

10

$cart->getAllVisibleItems()পরিবর্তে ব্যবহার করুন $cart->getAllItems()
আপনি সদৃশগুলি পান কারণ কার্টে কনফিগারযোগ্য পণ্য যুক্ত করার সময়, ম্যাজেন্টো আসলে 2 টি পণ্য যুক্ত করে, সাধারণ পণ্য এবং কনফিগারযোগ্য পণ্য তবে ব্যবহারকারীর জন্য কেবল একটিই দৃশ্যমান।


আমি যদি একটি সাধারণ পণ্য যুক্ত করি তবে এটি স্বয়ংক্রিয়ভাবে কনফিগারযোগ্যও যুক্ত করবে? নাকি আমাকে নিজেই এটি করা দরকার?
প্যাট

না আপনি যখন কনফিগারযোগ্য পণ্য যুক্ত করবেন তখন কার্টে 2 টি থাকবে ,.
মারিয়াস

1
<?php
$cart = Mage::getModel('checkout/cart')->getQuote();

foreach ($cart->getAllVisibleItems() as $item) 
{ 
  echo $productName = $item->getProduct()->getName();
  echo $productPrice = $item->getProduct()->getPrice();
  echo $grandTotal = Mage::getModel('checkout/session')->getQuote()->getGrandTotal();
  echo $this->helper('catalog/image')->init($item->getProduct(), 'small_image')->resize(50,50);
}

?>

সমস্ত লাইনের জন্য <? পিএইচপি?> এ কোড যুক্ত করুন
ভাগ্যবন্ত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.