لا يعرض الجدول "فقط X المتبقي" في صفحة المنتج أسماء المنتجات (الكمية فقط) في Magento 1.9.1.0
-
12-12-2019 - |
سؤال
تم وصف المشكلة أيضًا على Magento Bug-track (لم تتم الإجابة عليها بعد):http://www.magentocommerce.com/bug-tracking/issue/index/id/443
خطوات التكاثر:
لقد قمت بإنشاء منتج قابل للتكوين يتكون من 3 منتجات بسيطة (مخفية بشكل فردي) بكميات مخزون مختلفة.عند النظر إلى الواجهة الأمامية والحصول على الخيار:تم عرض "فقط X متبقي"، الكمية صحيحة.عندما أقوم بالتوسيع لعرض التفاصيل، يتم عرض الجدول ولكن لا يحتوي على أسماء المنتجات البسيطة الفردية.لقد اختبرت هذا من خلال تثبيت نظيف لـ 1.9.0.1 والذي يعمل بشكل صحيح لقد اختبرت هذا من خلال تثبيت نظيف لـ 1.9.1.0 والمعلومات مفقودة.
نتيجة متوقعة:
بقي X فقط الجدول في الواجهة الأمامية مع تفاصيل اسم المنتجات البسيطة لكل صف وكمية هذا المنتج في العمود خلفه النتيجة الفعلية:يتكون الجدول X المتبقي فقط في الواجهة الأمامية من العدد الصحيح من الصفوف والأعمدة.لا يعرض عمود الاسم اسم المنتج، بينما يعرض عمود الكمية المعلومات الصحيحة.
هل يعرف أحد كيفية إصلاح هذا الخلل؟
هكذا يبدو الأمر في Magento 1.9.1.0:
وهذه هي الطريقة التي ينبغي أن يبدو بها (من Magento 1.9.0.1):
المحلول
ويبدو أنهم تغيروا getUsedProducts
طريقة في Mage_Catalog_Model_Product_Type_Configurable
فصل.
ماجنتو 1.9.0.1
$collection = $this->getUsedProductCollection($product)
->addAttributeToSelect('*')
->addFilterByRequiredOptions();
ماجنتو 1.9.1.0
$collection = $this->getUsedProductCollection($product)
->addFilterByRequiredOptions();
// Provides a mechanism for attaching additional attributes to the children of configurable products
// Will primarily have affect on the configurable product view page
$childAttributes = Mage::getConfig()->getNode(self::XML_PATH_PRODUCT_CONFIGURABLE_CHILD_ATTRIBUTES);
if ($childAttributes) {
$childAttributes = $childAttributes->asArray();
$childAttributes = array_keys($childAttributes);
$collection->addAttributeToSelect($childAttributes);
}
لذلك، بدلًا من اختيار جميع السمات، قاموا بتوفير آلية لنا لاختيار ما نحتاج إليه فقط.
const XML_PATH_PRODUCT_CONFIGURABLE_CHILD_ATTRIBUTES = 'frontend/product/configurable/child/attributes';
لذلك في الوحدة الخاصة بك config.xml
أضف ما يلي:
<frontend>
<product>
<configurable>
<child>
<attributes>
<name/>
</attributes>
</child>
</configurable>
</product>
</frontend>
امسح ذاكرة التخزين المؤقت وأعد تحميل صفحة المنتج واستمتع :-)