Magento 2 - ประเภทของธีม 0: ทางกายภาพ, 1: เสมือน, 2: การจัดเตรียม ควรใช้เมื่อใด


30

ในthemeตารางมีtypeฟิลด์ที่มีค่าที่เป็นไปได้ 3 ค่าคือฟิสิคัลฟิสิคัลและการจัดเตรียม

เมื่อใดที่จะใช้ชุดรูปแบบเสมือนจริงและการจัดเตรียม?

เมื่อฉันขยายชุดรูปแบบ luma ชุดรูปแบบใหม่ของฉันปรากฏในตารางชุดรูปแบบเสมือน แต่ดูเหมือนว่าประเภทนี้ไม่อนุญาตให้แทนที่ไฟล์บางไฟล์และเพียงเปลี่ยนประเภทของธีมจากเสมือนเป็นฟิสิคัลเป็นฟิสิคัลให้ฉันขยายตัวอย่างMagento_Themeแพ็คเกจ


คำถามที่ดีอาจไม่แน่ใจ0: Physical - Magento Default Theme (Example: Magento Blank, Magento Luma, Magento 2 Backend) 1: Virtual - Custom Theme which is created by you (custom) which has parent as Default Theme (Example: My Theme) 2: Staging - ?
Ankit Shah

อ้างถึงvendor\magento\module-theme\Model\Theme\Registration.php /** Allowed sequence relation by type, array(parent theme, child theme) * @var array */ protected $_allowedRelations = [ [ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_VIRTUAL], [ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_STAGING],]; /** Forbidden sequence relation by type ** @var array*/ protected $_forbiddenRelations = [[ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_VIRTUAL],[ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_STAGING],];
Ankit Shah

คำตอบ:


32

มี 3 ประเภทที่กำหนดไว้ในMagento/Framework/View/Design/ThemeInterface:

  • ประเภททางกายภาพ
  • ประเภทเสมือน
  • การจัดเตรียมประเภท

ธีมทางกายภาพ

ทางกายภาพหมายถึงความจริงที่ว่าธีมเหล่านั้นถูกกำหนดโดยไฟล์ ตัวอย่างเช่นธีม blank และ luma มีการกำหนดทางร่างกายภายใต้app/design/frontend/

ธีมเสมือนจริง

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

คุณจะเห็นว่ามีสองแท็บที่มีอยู่ในส่วนแก้ไขเฉพาะสำหรับธีมเสมือนที่ให้คุณจัดเตรียม CSS และ JS ที่กำหนดเองสำหรับธีมเสมือน

ฉันคิดว่าชุดรูปแบบเสมือนจะเป็นสิ่งที่คุณติดตั้งชั่วคราว (เช่นชุดรูปแบบคริสต์มาส) ในช่วงเวลาสั้น ๆ ของชุดรูปแบบและที่ต้องมีการเปลี่ยนแปลงการออกแบบเพียงไม่กี่เมื่อเทียบกับชุดรูปแบบทางกายภาพมันขยาย

ยังไม่มีปุ่มเพิ่มธีมเสมือน แต่ถ้าคุณเรียกใช้คิวรี SQL ต่อไปนี้คุณสามารถตั้งค่าธีมเสมือนและคุณจะเห็นแท็บ CSS และ JS เมื่อแก้ไข:

INSERT INTO `theme` (`theme_id`, `parent_id`, `theme_path`, `theme_title`, `preview_image`, `is_featured`, `area`, `type`, `code`) VALUES (NULL, '1', NULL, 'test', NULL, '0', 'frontend', '1', 'test/test');

และที่นี่คุณไปสองแท็บพิเศษและปุ่มบันทึก / ลบ:

ป้อนคำอธิบายรูปภาพที่นี่

การจัดเตรียมธีม

ฉันคิดธีมการจัดเตรียมเกี่ยวข้องกับคุณลักษณะ Magento 2.1 EE staging: http://devdocs.magento.com/guides/v2.1/extension-dev-guide/staging/Staging.html

ฉันคิดว่าคุณสามารถมีธีมการแสดงละครเมื่อใช้แคมเปญ แต่ฉันไม่แน่ใจ 100%


คุณเพิ่งแก้ไขปัญหาของฉันที่นี่ Raph! ขอบคุณ - อัลวิน :)
อัลวินเหงียน

1
ฉันพบปัญหาเกี่ยวกับtypeคอลัมน์ในthemeตาราง: ฉันสร้างชุดรูปแบบและtypeค่าได้ถูกตั้งเป็น1(แทนค่าเริ่มต้น0) การเปลี่ยนแปลงทั้งหมดน้อย / JS ของฉันทำงาน แต่วีโอไอพีจะไม่อ่านไฟล์รูปแบบใด ๆ จากรูปแบบของฉันจนกว่าฉันจะเปลี่ยนแปลงมูลค่าให้กับtype 0เพิ่มเติมเกี่ยวกับเรื่องนี้ที่นี่: nahuelsanchez.com/ …
Erik Hansen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.