المنتج المرتبط في مواضع متعددة في نفس المنتج المجمع

magento.stackexchange https://magento.stackexchange.com//questions/67033

سؤال

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

مشكلتنا هي أن بعض الخطط لها نفس الجزء في مواقف متعددة.على سبيل المثال ، قد تظهر نفس الغسالة في الموضع 1 و 15 و 40.تسمح لنا شبكة المنتج المرتبطة فقط بالإشارة إلى موضع واحد لتلك الغسالة.

أي أفكار حول كيف يمكننا تكوين منتج مجمعة للسماح لمواقف متعددة من المنتجات المرتبطة?لقد كنت أحفر منذ عدة ساعات أحاول الآن إيجاد طريقة لإضافة سمة إضافية إلى منتج مرتبط ولكني لا أجد أي احتمالات هناك.

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

المحلول

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

بالنسبة لهذا الأسلوب ، قررت إضافة عمود مخصص في شبكة المنتج المرتبطة بمنتجي المجمع.لإضافة العمود الجديد قمت بنسخ الملف في:app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Group.php في الكود المحلي الخاص بي في: app/code/localMage/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Group.php

في الوظيفة _أعمدة الإعداد () أضفت هذا:

    $this->addColumn('diagrampos', array(
      'header'    => Mage::helper('catalog')->__('Other Position'),
      'name'      => 'diagrampos',
      'index'     => 'diagrampos',
      'width'     => '60px',
      'editable'  => true
    ));

مزيد من الانخفاض في هذا الملف نحن بحاجة إلى تغيير getSelectedGroupedProducts() في السطر 214 بحيث يتم حفظ تحديثاتنا في المسؤول بشكل صحيح.إليك كيف يجب أن يبدو ذلك الآن:

    public function getSelectedGroupedProducts()
        {
        $associatedProducts = Mage::registry('current_product')->getTypeInstance(true)
                              ->getAssociatedProducts(Mage::registry('current_product'));
        $products = array();
        foreach ($associatedProducts as $product) {
            $products[$product->getId()] = array(
              'qty'       => $product->getQty(),
              'position'  => $product->getPosition(),
              'diagrampos'  => $product->getDiagrampos()
            );
        }
        return $products;
    }

ثم نحن بحاجة إلى تحديث جدول قاعدة البيانات ل catalog_product_link_attribute.أضفت القيم التالية كصف جديد إلى الجدول.قد تحتاج إلى ضبط القيمة الأولى اعتمادا على الزيادة الحالية في الجدول الخاص بك:

product_link_attribute_id   => 6
link_type_id                => 3
product_link_attribute_code => diagrampos
data_type                   => varchar

التالي نحن بحاجة إلى تغيير app/design/adminhtml/default/default/layout/catalog.xml بحيث يلتقط المسلسل في مجالنا الجديد.نحن بحاجة إلى تعديل التخطيط تحت العقدة <adminhtml_catalog_product_supergroup> بإضافة سطر جديد تحت addColumnInputName بحيث يبدو مثل:

    <action method="addColumnInputName">
        <input_name>qty</input_name>
        <input_name>position</input_name>
        <input_name>diagrampos</input_name>
    </action>

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

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