টি এল; ডিআর : একটি কনফিগারযোগ্য পণ্যের সাথে যুক্ত সাধারণ পণ্যগুলি কনফিগারযোগ্য পণ্য হিসাবে একই বৈশিষ্ট্যযুক্ত সেটটিতে থাকার কোনও কারণ আছে কি? মানে, কোন প্রযুক্তিগত কারণ আছে কি? আমি "সাধারণ জ্ঞান" কারণ জানি। আপনি যদি একজোড়া জুতা বিক্রি করেন তবে রঙ এবং আকারের উপর নির্ভর করে সমস্ত সংস্করণও জুতা হতে হবে।
দীর্ঘ সংস্করণ : কিছু কনফিগারযোগ্য পণ্য "মার্জ" করার আমার একটি কাজ ছিল। আমার অর্থ 2 বা তার বেশি থেকে কেবল একটি তৈরি করা। পণ্যের পরিমাণের কারণে আমি সেগুলি ম্যানুয়ালি করতে চাইনি এবং আমি যেতে চাইনি$product->load(..)->set...()->save()
স্ক্রিপ্টটি চালাতে সময় লেগেছিল বলে। তাই আমি প্রক্রিয়াটি সংক্ষিপ্তভাবে প্রচারিত করেছি কারণ আমি নিশ্চিত যে সাধারণ পণ্যগুলির কোনওটি ওভারল্যাপ করে না। আকার এবং রঙের এক অনন্য সমন্বয় ছিল। আমি এটা করেছি:
Mage::getResourceSingleton('catalog/product_type_configurable')
->saveProducts($mainConfigrableProduct, $simpleProductIds);
যেখানে $simpleProductIds
কনফিগারযোগ্য পণ্যগুলির সাথে সংযুক্ত সমস্ত সাধারণ প্রোডাক্ট আইডির একটি অ্যারে রয়েছে যেখানে মার্জ হওয়া দরকার।
এটি বেশিরভাগ পণ্যের জন্য নিখুঁতভাবে কাজ করেছে, তবে কয়েকটি সমস্যা রয়েছে।
যদি আমি ফোন করি
$productIds = $product->getTypeInstance()->getUsedProductIds()
আমি সমস্ত সাধারণ পণ্য আইডি পেতে পারি, তবে ব্যাকএন্ডে তাদের মধ্যে কয়েকটি মাত্র উপস্থিত হয়েছিল। কিছু সময়ের জন্য খনন করার পরে আমি জানতে পারলাম যে কেবলমাত্র প্রদর্শিত বৈশিষ্ট্যগুলি কনফিগারযোগ্য পণ্য হিসাবে একই বৈশিষ্ট্যটিতে সেট করা ছিল। অন্যান্য অ্যাট্রিবিউট সেটটি প্রথমটির মতোই খুব সামান্য, কিছুটা ছোটখাটো পার্থক্য তবে এতে কনফিগারযোগ্য বৈশিষ্ট্য (আকার এবং রঙ) থাকে।
এবং এখন অদ্ভুত জিনিস। সীমান্তে আমি প্রত্যাশা করেছি যে সমস্ত পণ্য (I উপরের কোডে প্রোডাক্টআইডস) বা কেবল একই বৈশিষ্ট্যযুক্ত সেটের পণ্যগুলি। ঠিক আছে এর মধ্যে কিছু ছিল।
- 20 সম্পর্কিত পণ্য আইডিস - 5 টি আকার, 4 টি রঙ
- ব্যাকএন্ডে 10 সম্পর্কিত পণ্য - 5 টি আকার, 2 রঙ - অন্যান্য 2 টি রঙ (10 পণ্য) আলাদা আলাদা বৈশিষ্ট্যযুক্ত সেটটিতে ছিল
- সম্মুখভাগে 15 টি সংমিশ্রণ - 5 আকার 3 টি রঙ (???)
প্রদর্শিত না হওয়া পণ্যগুলির জন্য অ্যাট্রিবিউট সেটটি পরিবর্তন করে আমি সমস্যার সমাধান করতে সক্ষম হয়েছি, তবে আমি এখনও বিস্মিত।
দ্রষ্টব্য : বাড়িতে এটি চেষ্টা করবেন না। বা আপনি এটি বাড়িতে চেষ্টা করতে পারেন তবে লাইভ সার্ভারে নয়।