หมวดหมู่พาเรนต์แสดงผลิตภัณฑ์ในหมวดหมู่ย่อยแม้ว่าผลิตภัณฑ์ไม่ได้ถูกกำหนดให้กับหมวดหมู่พาเรนต์


9

สมมติว่าฉันมีหมวดหมู่เสื้อผ้าและหมวดหมู่นี้มีหมวดหมู่ย่อยเสื้อยืด

ตอนนี้ฉันเพิ่มผลิตภัณฑ์ลงในหมวดเสื้อยืด (โดยทำเครื่องหมายที่กล่องในหน้าจอเพิ่มผลิตภัณฑ์) แต่ฉันไม่ตรวจสอบหมวดหมู่เสื้อผ้า ดังนั้นฉันคิดว่านี่หมายความว่าผลิตภัณฑ์จะปรากฏในหมวดหมู่เสื้อยืดที่ด้านหน้าเท่านั้นและไม่ได้อยู่ในหมวดหมู่เสื้อผ้าหลัก

อย่างไรก็ตามผลิตภัณฑ์จะปรากฏในหมวดหมู่เสื้อผ้าและเสื้อยืด

นี่เป็นปัญหาเนื่องจากหมวดหมู่เสื้อยืดเป็น "รวมอยู่ในเมนูการนำทาง"> ไม่มีหมวดหมู่นั่นคือควรจะซ่อนไว้ ผลิตภัณฑ์ทั้งหมดในหมวดหมู่มีการเปิดเผยแคตตาล็อกดังนั้นจึงไม่ปรากฏในผลการค้นหา

ฉันตรวจสอบเรื่องนี้ค่อนข้างลึกและพบว่าปัญหาอยู่ที่การจัดทำดัชนีแคตตาล็อก Magento การรันตัวสร้างดัชนีหมวดหมู่ผลิตภัณฑ์จากระบบ> การจัดการดัชนีจะสร้างดัชนีMage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product::reindexAll()ขึ้นมาใหม่

ฟังก์ชันนี้เลือกข้อมูลที่หลากหลายจากตารางที่เกี่ยวข้องกับหมวดหมู่ต่างๆและไปป์ลงในตาราง catalog_category_product_index ซึ่งเป็นตารางที่ใช้ในการสร้างชุดผลิตภัณฑ์สำหรับหน้าหมวดหมู่

ใครบ้างมีคำแนะนำเกี่ยวกับวิธีการซ่อน / ป้องกันผลิตภัณฑ์จากหมวดหมู่ย่อยที่ปรากฏในหมวดหมู่ผู้ปกครองของพวกเขา?

ฉันใช้ Magento 1.4.1.0 หมวดเสื้อผ้าถูกตั้งค่าเป็น Anchor และประเภทเสื้อยืดไม่ได้ ใช้หมวดหมู่เรียบตั้งเป็นใช่

คำตอบ:


13

นี่คือคุณลักษณะจริง หากคุณต้องการหลีกเลี่ยงปัญหานี้คุณควรตั้งค่าสถานะ 'Is anchor' เป็น 'ไม่' ในหมวดหมู่หลัก ในตัวอย่าง 'เสื้อผ้า' ของคุณ ด้วยวิธีนี้ในหมวดหมู่หลักคุณจะเห็นเฉพาะผลิตภัณฑ์ที่กำหนดให้โดยตรงเท่านั้น
หลังจากที่คุณทำการเปลี่ยนแปลงคุณควรทำดัชนีใหม่ทุกอย่าง


2
อ๊ะ แต่ฉันต้องเก็บ "Is Anchor" ไว้ในหมวดหมู่ parent เนื่องจากใช้การนำทางแบบเลเยอร์
ProcessEight

เอ่อ .... แล้วฉันคิดว่าคุณมีปัญหา ฉันไม่มีความคิดในเรื่องนี้
Marius

ฉันไม่ต้องการการนำทางแบบเลเยอร์ในหมวดหมู่เสื้อยืดดังนั้นฉันคิดว่าฉันจะย้ายหมวดหมู่เสื้อยืดออกจากเสื้อผ้าดังนั้นมันจะแสดงเฉพาะผลิตภัณฑ์ที่เกี่ยวข้องโดยตรงตามที่คุณพูด
ProcessEight

@ sfrost2004 ดังนั้นเสื้อยืดไม่ใช่เสื้อผ้า? ผมคิดว่าผมได้รับใช้พวกเขาผิด ...
Benubird

2
hmmm ฉันกำลังมองหา @ stackoverflow.com/questions/22990622/ …ที่ฉันเห็น $ this -> _ productLimitationFilters ['category_is_anchor'] = 1; และบางทีสิ่งที่เชื่อมโยง $ this-> getLoadedProductCollection () -> addAttributeToFilter ('is_parent', อาร์เรย์ ('eq' => 1)) - ถ้าเป็นผู้ปกครอง
snh_nl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.