เหตุใดฟังก์ชันการเปรียบเทียบจึงเชื่อมโยงกับรหัสผู้เข้าชม (บันทึก)


16

สิ่งแรกที่ฉันทำเมื่อเริ่มต้นโครงการคือถามลูกค้าว่าเขาต้องการบันทึกผู้ใช้ในเว็บไซต์ของเขาหรือไม่ ในMage_Logโมดูลข้อตกลงทางเทคนิค ในทุกกรณีจนถึงตอนนี้ฉันได้รับคำตอบ:

ไม่เราจะใช้ Google Analytics

และคำถามต่อไปคือ "คุณต้องการเปรียบเทียบผลิตภัณฑ์หรือไม่" ฉันถามคำถามเหล่านี้เพราะตารางบันทึกมักจะทำงานล่วงเวลาจำนวนมากและเว็บไซต์ทำงานช้า ดังนั้นฉันต้องการหลีกเลี่ยงการแก้ไขปัญหาความเร็ว

คำถามที่สองที่ฉันถามคือเนื่องจากส่วนเปรียบเทียบผลิตภัณฑ์ขึ้นอยู่กับบันทึกสำหรับลูกค้าของแขก ดูสิ่งนี้ในส่วนaddActionควบคุมเปรียบเทียบผลิตภัณฑ์:

 if ($productId
        && (Mage::getSingleton('log/visitor')->getId() || Mage::getSingleton('customer/session')->isLoggedIn())
    )

ดังนั้นหากลูกค้าต้องการเปรียบเทียบผลิตภัณฑ์ฉันไม่สามารถปิดใช้งานการบันทึกได้
ฉันหมายถึงฉันสามารถค้นหาส่วนขยายหรือสร้างส่วนขยายได้ แต่คำถามจริงคือ: เหตุใดฟังก์ชันการเปรียบเทียบจึงเชื่อมโยงกับรหัสผู้เข้าชม ผลลัพธ์ที่ดีของสิ่งนี้หรือไม่? ฟังก์ชั่นราคาแขกเป็นอย่างดีโดยอ้างอิง id ของราคาในเซสชั่น ทำไมจึงไม่เหมือนกันสำหรับเปรียบเทียบผลิตภัณฑ์


อาจเป็นเพราะไม่มีใครปิดการใช้งานส่วนหนึ่งของ Magento ใด ๆ ที่เคยใช้ในโครงการทุกส่วนขวา)
เดวิดมารยาท

ตราบใดที่มีคนใช้ความเป็นไปได้ที่จะปิดการใช้งานโมดูลหลักฉันไม่คิดว่านี่คือเหตุผล ... แต่ฉันได้รับเรื่องตลก :)
Marius

ตกลงแม้ว่าฉันเคยเห็นส่วนอื่น ๆ ที่ไม่ได้เล่นอย่างสวยงามหลังจากปิดใช้งานส่วนขยายบางส่วน ในระยะสั้นนั่นคือสาเหตุที่ฉันไม่เข้าใจว่าทำไมคนรักนักแต่งเพลงและ Magento ทำให้ฉันรู้สึกแปลก ๆ เพราะคุณไม่สามารถแยกโมดูลหลักออกได้อย่างน่าเชื่อถือ
David Manners

@DavidManners หวังว่านี่จะเป็นไปได้ในระดับ 2.0
Marius

กลับไปที่คำถามว่าจะเกิดอะไรขึ้นถ้าคุณปิดการใช้งานโมดูล แต่ตั้งค่าโมดูลของคุณเองด้วยการกำหนดค่าสำหรับlog/visitorที่ทำงานกับข้อมูลเซสชันหรือไม่ ไม่เคยลองด้วยตัวเอง
David Manners

คำตอบ:


7

ตามที่ฉันจะบอกว่าคำถามนี้ค่อนข้างตอบไม่ได้ - เหตุผลที่ใช้ตารางบันทึกคือ เพราะมัน ฉันไม่คิดว่าจะมีเหตุผลมากไปกว่าที่จะบอกว่า Mage_Log มีมาตั้งแต่ 0.6B และความพยายามในช่วงแรกอาจจะเกี่ยวข้องกับการใช้งานครั้งแรก หลังจากระยะเวลาหนึ่งข้อ จำกัด อาจมาถึงความสว่างและพวกเขาหยุดพัฒนาความคิดนั้น

สิ่งนี้สามารถตอบได้อย่างสมบูรณ์โดยใครบางคนเช่นบอริส แต่ฉันค่อนข้างมั่นใจว่าคำตอบของ "ทำไมคุณถึงทำแบบนั้น" จะเป็น "เพราะเราทำแบบนั้น"


1
A "เพราะเราทำอย่างนั้น" คำตอบดีกว่า "เพราะคุณ" ตอบ ฉันเดาว่าคุณพูดถูก ฉันหวังว่าจะได้คำตอบสำหรับนักพัฒนาหลัก ฉันจะยอมรับคำตอบนี้ส่วนใหญ่เพราะมีคนตระหนักว่านี่เป็นสิ่งที่ผิดและตัดสินใจที่จะเปลี่ยนเป็น Magento2 github.com/magento/magento2/issues/536
Marius

คุณถูก. การขาดประสบการณ์ดั้งเดิมพร้อมกับผลกระทบแบบแยกส่วนในระยะแรก ๆ ของการพัฒนาและที่สำคัญกว่านั้นคือไม่มีเวลาที่จะทบทวนและเขียนรหัสที่มีอยู่เดิมซึ่ง "ทำงาน" แล้ว
Unirgy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.