Defaut - One Website with one store and one store view

Two Stores with two store views each

One Website with one store and one store view

ลองนึกถึงตึกพาณิชย์ตึกนึง ที่มีหลายชั้น แล้วแต่ละชั้นก็จะมีร้านอยู่ชั้นละ 1 ร้าน โดยที่แต่ละร้านไม่เกี่ยวข้องกันทางด้านการซื้อขาย แต่จะมีทรัพยากรบางอย่างที่จะเป็นต้องใช้ร่วมกัน เช่น น้ำ ไฟ โครงสร้างตึก และแต่ละร้านก็จะมีสไตล์การตบแต่งร้านต่างกัน
คล้ายๆกับโครงสร้างของ Magento ที่มีระดับการเข้าถึงอยู่ 3 ระดับ
- Website (ตึกแถว)
- Store (ชั้นของตึก)
- Store View (ตัวร้าน)
ทำไมถึงต้องแบ่งระดับเลเยอร์แบบนี้ด้วย
การแบ่งเลเยอร์แบบนี้ทำให้ระบบค่อนข้างยืดหยุ่นในการปรับแต่งพอสมควร ข้อดีอีกอย่างนึงก็คือ สามารถสร้างและจัดการร้านหลายๆร้าน ผ่าน backoffice เดียว โดยที่ module บางอย่างที่ใช่ร่วมกันได้ก็จะใช้ร่วมกัน เช่น ข้อมูลลูกค้า, order, shoppingcart, payment method, etc
ทำไมต้องมีหลายร้่าน
จริงๆแล้วเริ่มต้นใช้ก็ไม่จำเป็นต้อง create มาหลายร้านก็ได้ feature นี้ทำมาเพื่อสร้างความยืดหยุ่นและรองรับการเติบโตในอนาคตมากกว่า ส่วนตัวยังไม่ค่อยเห็นความสำคัญของการแยก store เท่าไหร่นัก แต่อย่างว่า มีไว้ก็ดีกว่าไม่มี :P
ทำไมต้องรู้เรื่องโครงสร้างนี้ด้วย
จำเป็นต้องรู้ เพราะไม่งั้นเวลาใช้่งาน backoffice จะมึนมาก ไม่รู้จะเริ่มจากอะไรดี แล้วเดี๋ยวก็จะงงว่า เอ๊ะ set ร้านไว้แบบนี้แล้วทำไม หน้าร้านไม่ออกมาอย่างที่ปรับไว้ (เคยมึนมาแล้ว)