سؤال

فئات Magento ومعرفات المتجر.

في جدول قاعدة البيانات catalog_category_flat_store_1، يُذكر أن store_id هو 1.

عندما قمت بتحديد catalog_category_entity_int، تحتوي جميع الإدخالات على رقم store_id يساوي 0.

إذا قمت بتحديث هذا إلى 1 تختفي جميع الفئات من الواجهة الأمامية.

إدارة المتاجر تشير إلى:معرف الموقع الرئيسي:1 معرف متجر الموقع الرئيسي:1 متجر عرض اسم Engligh ID:1

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

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

المحلول

بادئ ذي بدء، لا يجب عليك تحرير قاعدة البيانات مباشرة.
الآن شرح.
store_id = 0 في catalog_category_entity_* الجدول يعني أن هذه هي القيمة المعينة للسمة على مستوى "التكوين الافتراضي".
يعني تعيينها جميعًا على 0 أنه ليس لديك أي قيم محددة لعرض متجر معين لأي سمات.وهذا يعني أن جميع طرق عرض المتجر ستستخدم القيم الافتراضية لجميع السمات.

الطاولات catalog_category_flat_store_* هي جداول يتم إنشاؤها تلقائيًا لتسريع عملية القراءة على الواجهة الأمامية.
الرقم الأخير في اسم الجدول (1 في مثالك) هو معرف عرض المتجر الذي سيستخدم هذا الجدول.
العمود store_id في هذه الجداول المسطحة سيكون دائمًا هو نفس الرقم الأخير في اسم الجدول حتى لو كان 0 في جداول EAV.
بهذه الطريقة لن تحصل على نتائج مذهلة عند الاتصال $category->getStoreId().
لذا أعد كل شيء كما كان من قبل.
إذا كانت لديك مشكلات في تحديث الفئات، فيرجى طرح سؤال جديد يشرح ماهية المشكلة وما تحاول تحقيقه.

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