سؤال

أنا باستخدام في نهاية المطاف وحدة الخالق.وأنا خلقت كيان واحد.
واحدة من السمة هي سمة المنتج (سكو).

سكو التي تم إنشاؤها كسمة في النهاية الخلفية ولكن ليس ملزمة المنتج سكو جمع.

وظيفة التالية بإرجاع مجموعة فارغة.

public function getAllOptions($withEmpty = true, $defaultValues = false){
    $source  = Mage::getModel('eav/config')->getAttribute('catalog_product', 'sku');
    return $source->getSource()->getAllOptions($withEmpty, $defaultValues);
} 
هل كانت مفيدة؟

المحلول

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

[عدل]
إذا كنت ترغب في استخدام سكو في القائمة المنسدلة تحتاج إلى تعديل الأسلوب في سؤالك.
شيء من هذا القبيل:

protected $_options = null;
public function getAllOptions($withEmpty = true, $defaultValues = false){
    if (is_null($this->_options)) {
        $collection = Mage::getModel('catalog/product')->getCollection();
        $this->_options = array();
        foreach ($collection as $product) {
            $this->_options[] = array('value' => $product->getSku(), 'label' => $product->getSku());
        }
    }
    $skus = $this->_options;
    if ($withEmpty) {
        array_unshift($skus, array('label' => '', 'value'=>''));
    }
} 

منذ سكو هو سمة النص ويتم إنشاء خيارات الكيان الخاص بك افتراضيا مع نوع int تحتاج إلى تغيير نوع سمة الكيان الخاص بك إلى text

ولكن أنا المشورة لك القيام بذلك إلا إذا كان لديك عدد قليل من المنتجات في موقع الويب الخاص بك.إذا كان لديك أكثر من 300-400 منتج ، فقد يتحول هذا إلى قاتل للأداء لأنه يتعين عليك مراجعة مجموعة المنتجات في كل مرة تستخدم فيها هذه السمة.

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