เหตุใดจึงมี / ฐาน / เริ่มต้น / เค้าโครงและ / เริ่มต้น / เค้าโครงเริ่มต้น ดูเหมือนว่าสับสนและซ้ำซ้อน
เหตุใดจึงมี / ฐาน / เริ่มต้น / เค้าโครงและ / เริ่มต้น / เค้าโครงเริ่มต้น ดูเหมือนว่าสับสนและซ้ำซ้อน
คำตอบ:
ในระยะสั้นdefault/default
เป็นมรดกจาก <1.4CE มันเป็นแพคเกจฐานเดิม ชุดรูปแบบหลักของวีโอไอพีจัดส่งในแพคเกจเริ่มต้นยังคง - ดังนั้นจึงไม่จำเป็นต้องคัดค้านมากเหมือนเดิม
เนื่องจากค่าเริ่มต้น / ค่าเริ่มต้นสามารถเขียนทับได้ในระหว่างการอัปเกรด CE จึงไม่แนะนำให้คุณวางไฟล์ไว้ที่นี่ แต่ปลั๊กอินที่พยายามจะใช้งานร่วมกับ <1.3 อาจย้อนกลับวางไฟล์ที่นี่แทนที่จะเป็นฐาน / ค่าเริ่มต้น
ที่มา: http://www.magentocommerce.com/knowledge-base/entry/magentos-theme-hierarchy#3.2
default
เป็นเครื่องมือดีบั๊กที่มีประโยชน์มาก
ผมพบคำตอบที่ดียิ่งขึ้นอย่างเป็นทางการในวิกิพีเดียวีโอไอพี (มาจากปี 2012 ดังนั้นฉันไม่แน่ใจว่าข้อมูลใดล้าสมัย - แต่ดูเหมือนว่าจะสามารถใช้กับ 1.8.1 จากสิ่งที่ฉันสามารถบอกได้) ในขณะที่ฉันขอแนะนำให้คุณอ่านอย่างเต็มที่ (คลิกตัวหนา ลิงก์) ให้ฉันสรุปด้านล่าง
อะไรคือสิ่งที่/base
เกี่ยวกับการทั้งหมดหรือไม่
/base/default
ถูกนำมาใช้ใน CE 1.4 และ EE 1.8 เพื่อรวมฟังก์ชั่นส่วนหน้าของแอปลอจิกทั้งหมดลงใน codebase เดียวที่คุณไม่ควรแก้ไข มันมีโครงสร้างไดเรกทอรีเดียวกับแพ็คเกจการออกแบบที่มีธีมเริ่มต้นแต่ไฟล์ CSS สำคัญบางไฟล์หายไปดังนั้นพวกเขาจึงไม่แนะนำให้คุณใช้มันเป็นแพ็คเกจการออกแบบและธีมของคุณเท่านั้น
คล้ายคลึงดีจะบอกว่า/base
คือการ/design/frontend
สิ่งที่เป็นไป/core
คุณไม่ควรที่จะปรับเปลี่ยนไฟล์ภายใน/code
/base
แต่คุณควรจะขยายขีดความสามารถของคุณเองในแพคเกจออกแบบที่กำหนดเองซึ่งวีโอไอพีจะมีลักษณะภายในของครั้งแรกก่อนที่มันจะตกกลับมาอยู่บน/base/default
- ครั้งแรกมันจะมีลักษณะใน/design/frontend/{custompackagename}/{customthemename}
แล้วก็ถอยกลับใน และสุดท้ายก็จะถอยกลับใน/design/frontend/{custompackagename}/default/
/design/frontend/base/default
จริงๆมันควรจะเป็นเพียงแค่จะคิดว่าเป็น/base
- The /default
ไดเรกทอรีย่อยเป็นเพียงเพราะมีระบบวีโอไอพีสำรองเสร็จสิ้นการเดินทางผ่านแต่ละแพคเกจการออกแบบในของรูปแบบ/default
จะชัดเจนแพ็คเกจออกแบบเป็นไดเรกทอรีย่อยภายใน/design/frontend
และชุดรูปแบบเป็นไดเรกทอรีย่อยภายในแพ็คเกจออกแบบ เมื่อวีโอไอพีดูผ่านแพคเกจการออกแบบไม่ว่าจะเป็น/base
หรือ/{custompackagename}
ที่/default
ธีมจะเป็นสถานที่สุดท้ายที่จะมีลักษณะวีโอไอพี
ดังนั้นตั้งแต่วัตถุประสงค์หลักของ/base
เพื่อใช้เป็นจุดสุดท้ายในระบบสำรองตามวัตถุประสงค์ว่ามันจะไม่เคยมีรูปแบบอื่น ๆ /base/default
ที่ไม่ใช่
ทำไมถึงมีแบบ/default
นั้น?
ดังนั้นแล้วทำไมมียังคงเป็น/design/frontend/default/default
? และเหตุผลที่มีอยู่ไม่/design/adminhtml/base/default
? พูดตามตรงฉันไม่รู้คำตอบของคำถามที่สอง แต่ให้ฉันลองตอบก่อน
ลืมความเข้ากันได้มรดก ฯลฯ ผมรู้สึกว่ามันอาจจะมากง่ายต่อการเข้าใจถ้ามันถูกเรียกแทน/generic/default
/default/default
ดังนั้นสำหรับวัตถุประสงค์ของการสนทนานี้ฉันจะอ้างถึง/app/design/frontend/default/
และ/app/skin/frontend/default/
เรียกรวมกันว่า "แพ็คเกจการออกแบบทั่วไป" ฉันจะหมายถึงทุกอย่างภายในไดเรกทอรีเหล่านั้นราวกับว่าพวกเขาถูกเรียกว่าและ/app/design/frontend/generic
/app/skin/frontend/generic
ตั้งแต่ (อย่างน้อยในกรณีส่วนหน้า) ระบบสำรองของวีโอไอพีไม่ถอยกลับไป/app/design/frontend/default/
ฉันรู้สึกว่าการดำเนินการต่อเพื่อเรียกมันว่า "เริ่มต้น" มีความสับสนเนื่องจากคำนั้นหมายถึงบางสิ่งบางอย่างเป็นส่วนหนึ่งของโซ่ทางเลือกแต่แพ็คเกจการออกแบบทั่วไปไม่ ส่วนหนึ่งของห่วงโซ่ทางเลือกณ การแนะนำของ/base
. ดังนั้นการเรียกมันว่า "แพ็คเกจการออกแบบทั่วไป" แทนที่จะเป็น "แพ็คเกจการออกแบบเริ่มต้น" ช่วยลดความสับสนนี้โดยบอกเราว่าใช่มันเป็นเพียงชุดรูปแบบทั่วไปที่มาพร้อมกับวีโอไอพีฟรีโดยไม่ได้หมายความว่าเป็นส่วนหนึ่งของโซ่ทางเลือก : D
การดำเนินการแล้วที่: แพคเกจการออกแบบทั่วไปมีรูปแบบเริ่มต้นและรูปแบบไม่ใช่ค่าเริ่มต้นหลายภายใน: /blank
, และ/iphone
/modern
หากธีมที่ไม่ใช่ค่าเริ่มต้นทำงานอยู่ไฟล์นั้นจะแทนที่สิ่งใด ๆ ในธีมเริ่มต้น แต่ไม่ว่าจะใช้ธีมที่ไม่ใช่ค่าเริ่มต้นส่วนใด ๆ ของธีมเริ่มต้นของแพ็คเกจทั่วไปที่ไม่ได้ถูกแทนที่ด้วยธีมที่ไม่ใช่ค่าเริ่มต้นยังคงได้รับการทำงานและต่อไปพวกเขาจะแทนที่อะไร/base/default
มา ในที่สุดส่วนที่ไม่ถูกแทนที่ใด ๆ ของการ/base/default
เรียกใช้
อย่างไรก็ตามในช่วงวิกฤตไม่มีส่วนใดของแพ็คเกจการออกแบบทั่วไปที่จะทำงานหากคุณใช้แพ็คเกจการออกแบบที่กำหนดเอง ระบบสำรองไปตรงจาก{customdesignpackage}/{customthemename}
การไป{customdesignpackage}/default
base/default
(เว้นแต่ฉันจะไม่เข้าใจสิ่งนี้อย่างถูกต้องโปรดแก้ไขฉันหากฉันผิด)
อย่างที่กล่าวไปแล้วการลบแพ็คเกจการออกแบบทั่วไปทั้งหมดโดยไม่ต้องมีแพ็คเกจการออกแบบที่กำหนดเองจะไม่ฉลาดเพราะแพ็คเกจการออกแบบทั่วไปมีองค์ประกอบผิวที่จำเป็น