ตอบคำถาม
ใครเป็นผู้รับผิดชอบการจัดรูปแบบข้อมูลตัวอย่างเช่นราคา Magento API และส่วนหน้า?
วีโอไอพี API ให้การเข้าถึงข้อมูลและตรรกะทางธุรกิจ การจัดรูปแบบข้อมูล / ราคาเป็นส่วนหนึ่งของตรรกะการนำเสนอดังนั้นด้วยวิธีนี้คุณมีความยืดหยุ่นมากขึ้นในการนำเสนอข้อมูลในแบบที่คุณต้องการ (โดยไม่ถูกบังคับให้ทำในแบบวีโอไอพี)
ตัวอย่างเช่นคุณสามารถใช้จาวาสคริปต์เพื่อตรวจหาการตั้งค่าสถานที่และให้ข้อมูลที่เหมาะสม ตรวจสอบดังต่อไปนี้:
navigator.language
toLocaleString ()
หรือคุณสามารถเลือกที่จะนำเข้าราคาจาก Magento ไปยังระบบบุคคลที่สามหรือเครื่องมือวิเคราะห์ข้อมูลและการจัดรูปแบบราคาตามรูปแบบสกุลเงินจะทำให้กระบวนการนำเข้าแตกเท่านั้นจนกว่าคุณจะแก้ปัญหา "การแปลงสกุลเงิน"
ใครเป็นผู้รับผิดชอบในการปรับขนาดภาพผลิตภัณฑ์และแคชพวกเขา? เนื่องจากใน Magento 2 API แบบดั้งเดิมไม่มีการปรับขนาดหรือระบบแคช
เผง อย่างที่ฉันได้กล่าวไว้ข้างต้น Magento ให้การเข้าถึงข้อมูล (โดยไม่ต้องใช้ตรรกะในการนำเสนอ) ขึ้นอยู่กับคุณว่าคุณจะใช้มันอย่างไร
ตัวอย่างเช่นคุณอาจเลือกปรับขนาดภาพที่ปรับเปลี่ยนได้http://adaptive-images.com/details.htmดังนั้นคุณสามารถใช้ภาพต้นฉบับและทำสิ่งที่คุณต้องการได้อย่างง่ายดาย
คุณสามารถเลือกวิธีที่คุณจะแคชรูปภาพคุณต้องการใช้การบีบอัดแบบ lossy หรือ lossless เพื่อลดขนาดรูปภาพ ฯลฯ
ฉันจำเป็นต้องสร้าง API แยกแบบกำหนดเองใหม่หรือขยายเนทีฟเพื่อวัตถุประสงค์ในการอัพเกรดในอนาคตหรือไม่
ฉันแนะนำให้คุณทำ API ของคุณซึ่งจะใช้สำหรับการนำเสนอตรรกะและคุณจะ 99.9% (ฉันเดา) แน่ใจว่าคุณจะไม่ได้รับผลกระทบจากการอัพเกรด Magento2 API ในอนาคต
คุณแนะนำให้ใช้เลเยอร์พิเศษเพื่อรวม CMS และ Magento API หรือไม่
แนะนำเป็นอย่างยิ่ง แต่เลเยอร์พิเศษไม่จำเป็นต้องเป็นแอปพลิเคชันเพิ่มเติม มันสามารถเป็นโมดูล Magento2 ได้เช่นกัน สิ่งที่ดีเกี่ยวกับเรื่องนี้คือความจริงที่ว่าคุณมีอิสระที่จะรวมเข้าด้วยกันตามที่คุณต้องการ คุณสามารถสร้างชั้นพร็อกซีของคุณโดยใช้ภาษา / เทคโนโลยีที่คุณต้องการ
ฉันขอขอบคุณที่คุณแบ่งปันประสบการณ์การกลับมาของคุณ
มีหลายวิธีที่คุณสามารถใช้ที่นี่ ฉันจะแบ่งปันความคิดเห็นของฉันกับมัน
วิธีการของฉันที่จะหัวขาด
ครั้งแรกผมจะแบ่งออกเป็นสองชั้น: ชั้นพร็อกซี่และชั้นนำเสนอ
ชั้นพร็อกซี
สิ่งแรกที่คุณจะต้องพิจารณาคือการสร้างเลเยอร์พร็อกซี คุณสามารถใช้ Magento API, CMS API, ERP API, x API ได้ทุกอย่างที่คุณต้องการ ...
ในเลเยอร์พร็อกซีคุณมีอิสระในการใช้และจัดการข้อมูลตามที่คุณต้องการ คุณสามารถนำเลเยอร์แคชไปใช้ที่นั่นรวมถึงฟังก์ชันเพิ่มเติมสำหรับการจัดรูปแบบข้อมูลการติดตามลูกค้าการทำให้เป็นอัตโนมัติต่าง ๆ เป็นต้นโดยทั่วไปแล้วทุกสิ่งที่คุณต้องการสำหรับการเล่นกลอย่างง่ายในเลเยอร์การนำเสนอ
ไม่จำเป็นต้องเขียนเลเยอร์พร็อกซีใน PHP มันสามารถเขียนโค้ดใน Java, NodeJS หรือคุณสามารถใช้เกตเวย์ AWS API, AWS SQS และ Lambda สำหรับการจัดหาพร็อกซีเลเยอร์ทั้งหมดหรือเพียงส่วนหนึ่งของมัน
หนึ่งในวิธีการที่คุณสามารถใช้ได้อธิบายโดย Fabrizio Branca ที่http://fbrnc.net/blog/2015/10/super-scaling-magento
เลเยอร์การนำเสนอ
เลเยอร์การนำเสนอขึ้นอยู่กับแพลตฟอร์มของลูกค้า หากคุณจะใช้สำหรับแอพมือถือสิ่งต่าง ๆ ค่อนข้างชัดเจนเกี่ยวกับวิธีที่คุณควรใช้พร็อกซี API
สำหรับเว็บแอปพลิเคชั่นมีความเป็นไปได้มากมาย คุณสามารถใช้ได้:
- โซลูชัน PHP แบบมาตรฐาน (ขับเคลื่อนโดยกรอบงานใด ๆ ) ที่คุณสามารถใช้เครื่องมือสร้างเทมเพลต PHP (เช่น Smarty, Twig, Dwoo ... ) เพื่อให้ได้ผลลัพธ์ HTML
- Java / NodeJS / ภาษาใดก็ตามที่คุณรู้สึกคุ้นเคย
- วิธีการแก้ปัญหาที่ใช้ javascript ซึ่งจะแสดง HTML ทั้งหมดและจะเรียก API ที่เหมาะสมผ่าน ajax เพื่อเติมด้วยข้อมูล
- ไฮบริด / การรวมกันของวิธีการเหล่านั้นจากด้านบน
นี่ไม่ได้อยู่ในรายการหนังสือฉันเพิ่งแชร์ชุดค่าผสมไม่กี่ชุด ในความเป็นจริงจินตนาการของคุณเป็นเพียงข้อ จำกัด
ความคิดสุดท้าย
ใช้โซลูชันที่ใช้ javascript มากที่สุดเท่าที่จะเป็นไปได้เนื่องจากสามารถมอบประสบการณ์ที่ดีขึ้นให้กับลูกค้าส่วนของข้อมูลที่เล็กลงสำหรับการโหลดหน้าเว็บคุณสามารถทำการโหลดข้อมูลแบบเก็งกำไรได้หากคุณสามารถคาดการณ์การกระทำต่อไปของลูกค้า
แต่ปัญหาของการแก้ปัญหาจาวาสคริปต์ล้วนคือ SEO หากข้อมูลทั้งหมดของคุณถูกโหลดผ่าน Ajax Google อาจไม่สามารถแยกวิเคราะห์ได้
การแก้ปัญหาคือการสร้างแอพไฮบริดซึ่งจะให้บริการหน้า HTML ทั้งหมดในการโหลดครั้งแรกเช่นเมื่อคุณกด / แคตตาล็อก / รองเท้า สำหรับการนำทางเพิ่มเติมผ่านเว็บไซต์คุณสามารถใช้ ajax เพื่อดึงข้อมูลบล็อกที่จำเป็นเท่านั้น
หนึ่งในวิธีการที่จะสร้างภาพรวมของหน้าของคุณตัวอย่างเช่นโดยใช้PhantomJS นอกจากนี้ยังมีวิธีการชำระเงินบางอย่างเช่น: