Magento: السمة تُرجع دائمًا القيمة الافتراضية في عرض الكتالوج ، ويعمل بشكل جيد في عرض المنتج

StackOverflow https://stackoverflow.com/questions/3009749

سؤال

لقد قمت بإنشاء سمة جديدة نعم/لا للمنتجات. لقد قمت بتوسيع نموذج المنتج للقيام ببعض المنطق المخصص والوظائف المخصصة تعمل في كل مكان.

عندما حاولت في البداية الحصول على قيمة السمة المخصصة ، واجهت بعض المشكلات. لم يكن Magento تحميله من أجلي ، لذا فإن المكالمات إلى $ product-> getMyatTributEname () لم تفعل شيئًا. في وجهات نظر المنتج ، حصلت على العمل مع هذه الوظيفة الإضافية:

public function getAttrVal($attr_name)
{
    return $this->getResource()->getAttribute($attr_name)->getFrontend()->getValue($this);
}

لذلك عملت بشكل رائع عند عرض منتج على الواجهة الأمامية. سوف يجلب القيمة المخصصة إذا تم تعيينها ، أو الافتراضي إذا لم يكن كذلك.

عندما أشاهد أي فئة (شبكة جميع المنتجات في تلك الفئة) ، يتم تنفيذ نفس الرمز الدقيق. لكن وظيفة getAttrval () تُرجع دائمًا القيمة الافتراضية ، حتى لو قمت بتعيين هذه القيمة بشكل صريح لمنتجي.

لا يمكنني ، على مدى الحياة ، معرفة سبب تحميل السمة بشكل صحيح في عرض المنتج ، لكن طريقة عرض الفئة تستمتع دائمًا بالقيمة الافتراضية ، على الرغم من تشغيل نفس الرمز الدقيق. أي أفكار؟

هل كانت مفيدة؟

المحلول

نظرًا لأن Magento يستخدم نموذج EAV لسمات الكتالوج القابلة للتمديد ، فلا يجوز نقل كل سمة إلى كل صفحة. جرب العبث بـ "المعروض في الكتالوج" والمتغيرات الأخرى ذات الصلة على السمة ، وقد يصلح مشكلتك. إذا لم يكن الأمر كذلك ، فقل ذلك ويمكننا تجربة أشياء أخرى.

امل ان يساعد!

شكرا يا جو

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top