คำถามติดแท็ก flat-catalog

5
วิธีตั้งค่า ID ร้านค้าบน Mage_Catalog_Model_Resource_Product_Collection
งานนั้นไม่สำคัญ ฉันต้องการรับรายการผลิตภัณฑ์สำหรับมุมมองร้านค้าโดยเฉพาะด้วยการเปิดใช้งานแค็ตตาล็อกแบบแบน ทางออกที่ชัดเจนที่สุดคือ: $collection = Mage::getResourceModel('catalog/product_collection') ->setStore($storeId); ในความเป็นจริงsetStore()วิธีการไม่ได้สร้างความแตกต่างใด ๆ ที่นี่เพราะมันถูกเรียกหลังจาก_initSelect()วิธีการMage_Catalog_Model_Resource_Product_Collectionที่ได้รับชื่อของตารางแบนตามรหัสร้านค้า เนื่องจาก ID ร้านค้ายังไม่ได้ตั้งค่าจะใช้ ID ร้านค้าปัจจุบัน ดังนั้นวิธีแก้ปัญหาที่ชัดเจนคือการตั้งค่า ID ร้านค้าปัจจุบันก่อนรับโมเดล Mage::app()->setCurrentStore($storeId); $collection = Mage::getResourceModel('catalog/product_collection'); มันจะทำงาน. แต่ถ้าคุณต้องการรับชุดหนึ่งครั้ง หากคุณต้องการรับคอลเล็กชันในลูปหรือคุณต้องการคอลเลกชันสองหลังถึงหลังคุณจะไม่สามารถตั้งค่าร้านค้าเฉพาะสำหรับพวกเขาได้ เหตุผลคือMage_Catalog_Model_Resource_Product_Flatคลาสนั้นมี_storeIdคุณสมบัติเป็นของตัวเองและใน Constructor นั้นจะถูกตั้งค่าเป็น ID ร้านค้าปัจจุบัน นั่นเป็นเหตุผลที่มันจะถูกตั้งค่าเป็นครั้งแรก ด้วยเหตุผลบางอย่าง (สวรรค์รู้ว่าฉันหวังว่าจะมีหนึ่ง) ในMage_Eav_Model_Entity_Collection_Abstract::_initแต่ละโมดูลทรัพยากรถูกเรียกเป็นซิงเกิล ดังนั้นไม่มี Constructor สำหรับการโทรครั้งที่สอง ทั้งหมดนี้ดูผิดไปมากจนฉันค่อนข้างมั่นใจว่าฉันผิดและไม่ใช่ Magento bug ตัวอื่น (หรือสองตัว) หวังว่าใครบางคนสามารถหลั่งน้ำตาแสงบนมัน

3
Magento 2: โต๊ะแบนยังคงเป็นเรื่องน่าสนใจใช่ไหม
โต๊ะแบนยังเป็นสิ่งที่เราต้องกังวลใน Magento 2 หรือไม่? ฉันรู้ว่ามี UI ที่เราสามารถเปิดใช้งานตารางแบนได้ แต่ฉันไม่แน่ใจว่าพวกเขาได้รับการทดสอบดีเพียงใดและถ้าพวกเขาต้องการอีกต่อไป ถ้าตารางแบนมียังคงเป็นสิ่งที่ - ที่ / เมื่อทำคุณลักษณะสำหรับตารางแบนได้รับการสร้างขึ้นและ / หรือสร้างใหม่ สิ่งนี้เกิดขึ้นเมื่อทำดัชนีใหม่หรือไม่ หรือการกระทำ UI อื่น ๆ สามารถกระตุ้นการสร้างตารางแบนได้หรือไม่ มันเกิดขึ้นที่php bin/magento setup:di:compile? สถานที่อื่น ๆ? วีโอไอพีจะตัดสินใจอย่างไรหากต้องการทำให้แอททริบิวเป็นแอททริบิวต์แฟลต? จะทั้งหมดคุณลักษณะ EAV บี้? หรือมีคนอื่นซึ่งอาจจะไม่?

2
เมื่อใดที่ฉันควรใช้ตัวเลือกประเภทโต๊ะแบน
ตามคำถามก่อนหน้านี้ฉันต้องการทราบว่า: เมื่อใดที่ฉันควรใช้ตัวเลือกประเภทโต๊ะแบน ในขณะที่ googling ฉันพบคำแนะนำให้เปิดใช้งาน " เมื่อคุณมีหมวดหมู่มาก " แต่อะไรกันนะ ? ฉันสามารถเข้าใจได้ง่ายว่าการเปิดใช้งานโต๊ะแบนสำหรับผลิตภัณฑ์เป็นการตัดสินใจที่ดีในแง่ของประสิทธิภาพ แต่มันสำคัญมากสำหรับแคตตาล็อกหรือไม่ และสิ่งที่เกี่ยวข้องสรุปจากนี้ ฉันเพิ่งเรียนรู้ว่าการเปิดใช้งานตารางหมวดหมู่แบบแฟลตทำให้ไม่สามารถบันทึกตำแหน่งผลิตภัณฑ์หมวดหมู่ได้ อย่างน้อยก็ไม่ง่ายเหมือนไม่มีตัวเลือกแบบแบน (ขอบคุณสำหรับMariusสำหรับความช่วยเหลือของคุณ) มีสิ่งที่กล่าวถึงอื่น ๆ อีกไหม? ขอบคุณล่วงหน้า :)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.