mysql - فئة منتج ماجينتو




magento (2)

تحميل الأول حتى نموذج المنتج

إما بواسطة المعرف

$product = Mage::getModel('catalog/product')->load($id);

أو حسب السمة (سكو)

$product = Mage::getModel('catalog/product')->loadByAttribute('sku', '52429');

الآن يمكنك تحميل معرفات الفئة

$categoryIds = $product->getCategoryIds();

ثم للحصول على الكائنات فئة كاملة

foreach($categoryIds as $categoryId) { 
  $categories[] = Mage::getModel(’catalog/category’) 
    ->setStoreId(Mage::app()->getStore()->getId()) 
    ->load($categoryId);
}

الآن للحصول على الوالد من كل فئة

foreach($categories as $category) {
  $category->getParentCategory();
}

هذا هو كل ما تحتاجه أعتقد.

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

أي: ل سكو 52429، يتم تصنيفها إلى 3 فئات. سيعرض التقرير جميع أشجار الفئة الثالثة:

بل> العناية بالشعر> منتجات تصفيف الشعر

بل> الطبيعية والعضوية> العناية بالشعر> منتجات التصميم

بل> العلامات التجارية> بيورولوغي> المصممون

شكر! ريشا


يتم تخزين فئات الماجنتو في catalog_category_entity (بيكاي إس entity_id ). للعثور على العلاقة بين منتج وفئة، استخدم catalog_category_product . هيكلها بسيط:

+-------------+------------+----------+
| category_id | product_id | position |
+-------------+------------+----------+
|           3 |          5 |        1 |
|           3 |          6 |        1 |
|           3 |          7 |        1 |
+-------------+------------+----------+

لذلك، للحصول على جميع الفئات للمنتج:

select cc.* from catalog_category_entity cc
   join catalog_category_product cp on cc.entity_id = cp.category_id
   where cp.product_id = {{your product id}};

إديت لاحظ أن المعلومات التي تبحث عنها (لعرض أشجار الفئة) في جدول الفئة نفسه. مقتطف من الأعمدة (تم حذف بعضها):

+-----------+-----------+-------+----------+-------+----------------+
| entity_id | parent_id | path  | position | level | children_count |
+-----------+-----------+-------+----------+-------+----------------+
|         1 |         0 | 1     |        0 |     0 |             65 |
|         2 |         1 | 1/2   |        1 |     1 |             64 |
|         3 |         2 | 1/2/3 |        1 |     2 |              9 |
|         4 |         2 | 1/2/4 |        2 |     2 |             18 |
|         5 |         2 | 1/2/5 |        3 |     2 |              9 |
+-----------+-----------+-------+----------+-------+----------------+

يمكنك استخدام الانقسام في عمود path هذا للحصول على معرفات الفئات لجميع الفئات في المسار، وتحميل أسمائهم للتقرير.