ภาพรวมของเทมเพลตและเค้าโครง
บทความนี้จะแสดงภาพรวมของเท็มเพลตและโครงร่าง Microsoft Dynamics 365 Commerce
เทมเพลตจะเป็นองค์ประกอบพื้นฐานของแบบจำลองหน้า Microsoft Dynamics 365 Commerce ถ้าเป้าหมายของคุณคือเพื่อเพิ่มประสิทธิภาพและความสม่ำเสมอสำหรับลเวิร์กโฟลว์การสร้างไซต์ให้สูงสุด เป็นเรื่องสำคัญอย่างยิ่งที่คุณจะเรียนรู้วิธีการใช้ประโยชน์จากเทมเพลตสำหรับเว็บไซต์ของคุณ การตัดสินใจก่อนหน้านี้เกี่ยวกับโครงสร้างเทมเพลตมีความสำคัญและสามารถส่งผลกระทบต่อต้นทุนและความคล่องตัวสำหรับการปรับปรุงแบรนด์ทั้งแบบรายวัน ตามฤดูกาล และแบรนด์ทั่วทั้งไซต์อย่างมาก เทมเพลตที่มีโครงสร้างแบบดีมีประโยชน์อื่นๆ ด้วยเช่นกัน ตัวอย่างเช่น จะช่วยปรับปรุงประสิทธิภาพการทำงานของโปรแกรมค้นหาแบบทั่วทั้งไซต์ (SEO) และลดจำนวนข้อผิดพลาด
วิธีการที่ดีในการเริ่มต้นทำงานกับเทมเพลตคือการทำความเข้าใจถึงประโยชน์ของการทำงานของเทมเพลตและโครงร่าง ความแตกต่างระหว่างกัน และลำดับชั้น
ภาพประกอบต่อไปนี้จะแสดงลำดับชั้นของแบบจำลองหน้าที่อยู่เบื้องหลังเว็บเพจที่แสดงผล
เอนทิตี้ | ฟังก์ชันพื้นฐาน |
---|---|
เทมเพลต | เทมเพลตจะกำหนดตัวเลือกโมดูลและนั่งร้านพื้นฐานสำหรับชุดของโครงร่างและอินสแตนซ์ของหน้า |
เค้าโครง | โครงร่างจะกำหนดตัวเลือกและการจัดเรียงของโมดูลที่เป็นครั้งสุดท้ายสำหรับหน้าหรือชุดของหน้า |
อินสแตนซ์หน้า | อินสแตนซ์หน้าจะกำหนดข้อมูลและเนื้อหาสำหรับหน้าเฉพาะ |
เทมเพลต
เทมเพลตจะอยู่ด้านบนของลำดับชั้นแบบจำลองหน้า Dynamics 365 Commerce และแสดงถึงขั้นตอนแรกที่สำคัญสำหรับการตั้งค่าคอนฟิกไซต์ ตามแนวคิด เทมเพลตจะช่วยควบคุมความสอดคล้องกันของทั่วทั้งโครงร่างหลักและหน้าโดยการกำหนดโครงสร้างพื้นฐานและตัวเลือกการสร้างสำหรับการสร้างโครงร่างแบบดาวน์สตรีมและเวิร์กโฟลว์การสร้างหน้า เทมเพลตจะช่วยทำให้กระบวนการสร้างเนื้อหาง่ายขึ้นผ่านการกำหนดไว้ล่วงหน้า โดยองค์ประกอบที่มีการจัดการจากส่วนกลาง (เช่น หัวกระดาษและท้ายกระดาษ) และแนะนำขั้นตอนการสร้างการเขียนที่ช่วยให้มั่นใจว่าตัวเลือกการตั้งค่าคอนฟิกโมดูลเป็นตามรูปแบบแบรนด์
การควบคุมความสม่ำเสมอ
เมื่อคุณออกแบบเทมเพลตการตัดสินใจทางธุรกิจที่ใหญ่ที่สุดที่คุณต้องทำคือการควบคุมเทมเพลตที่ควรมีอยู่ในกระบวนการสร้างหน้า เทมเพลตที่ทำให้ทุกอย่างเปิดค้างไว้สำหรับผู้เขียนแบบดาวน์สตรีมคือชนิดของเทมเพลตที่ง่ายที่สุดในการสร้าง แต่อาจมีผลกระทบระยะยาวสำหรับการบำรุงรักษาหน้าที่สร้างขึ้นจากเทมเพลตนี้ เทมเพลตที่เป็นลายลักษณ์อักษรจะให้คำแนะนำและประสบการณ์การพัฒนาสร้าง แต่ยังให้ผู้เขียนมีความยืดหยุ่นเพียงพอเพื่อให้สามารถทำงานให้เสร็จสมบูรณ์ได้ ลักษณะเหล่านี้จะขึ้นอยู่กับระดับของการควบคุมที่เทมเพลตจะใช้
เทมเพลตจะช่วยให้ผู้เขียนเนื้อหามีประสิทธิภาพมากขึ้นและเป็นตามรูปแบบแบรนด์ตามวิธีต่อไปนี้:
- จำกัดโมดูลที่สามารถใช้บนหน้าได้
- แนะนำโมดูลเริ่มต้นและตัวเลือกการตั้งค่าคอนฟิก
- ทำให้มีบางโมดูลและตัวเลือกการตั้งค่าคอนฟิกที่ควบคุมในระดับเทมเพลตอย่างชัดแจ้ง กระบวนการนี้เรียกอีกอย่างว่า การล็อก การตั้งค่า
ตัวอย่างต่อไปนี้จะแสดงวิธีการตั้งค่าคอนฟิกเทมเพลตแบบพื้นฐาน (เทมเพลต X):
- โครงร่างรองทั้งหมดของเทมเพลต X ต้องมีคอนเทนเนอร์ส่วนหัว คอนเทนเนอร์ส่วนเนื้อหา และคอนเทนเนอร์ส่วนท้าย
- ในเทมเพลต X การตั้งค่าคอนฟิกของคอนเทนเนอร์ส่วนหัวถูกล็อคและสามารถเปลี่ยนได้เฉพาะในเทมเพลต X เท่านั้น โครงร่างรองและหน้าทั้งหมดจะมีหัวข้อนี้เสมอ
- คอนเทนเนอร์ส่วนเนื้อหาต้องมีอย่างน้อยหนึ่งโมดูลและสูงสุดไม่เกินโมดูล มีการกำหนดโมดูลเหล่านี้โดยใช้โครงร่างและหน้าแบบดาวน์สตรีม
- สำหรับคอนเทนเนอร์ส่วนเนื้อหา ฮีโร่ คุณลักษณะ โมดูลแบนเนอร์จะใช้งานได้
- มีการตั้งค่าคอนฟิกคอนเทนเนอร์ที่มีส่วนท้ายในเทมเพลต X แต่สามารถแทนที่ด้วยโครงร่างและหน้าแบบดาวน์สตรีมได้
เทมเพลตในตัวอย่างนี้กำหนดโครงสร้างและชุดของตัวเลือกสำหรับผู้เขียนเนื้อหาแบบดาวน์สตรีมอย่างง่าย โปรดสังเกตว่าบางส่วนของหน้า (ในกรณีนี้ส่วนหัว) มีการกำหนดและถูกล็อคไว้ทั้งหมดในเทมเพลต และไม่สามารถเปลี่ยนแปลงได้โดยผู้เขียนแบบดาวน์สตรีม ส่วนอื่นๆ (ในกรณีนี้คือเนื้อหา) อาจมีการกำหนดโดยผู้เขียนแบบดาวน์สตรีมภายใต้แนวทางที่เฉพาะเจาะจง (ในกรณีนี้คือจำนวนต่ำสุดและจำนวนสูงสุดของโมดูลของชนิดที่ระบุ) และส่วนอื่นๆ (ในกรณีนี้คือท้ายกระดาษ) จะถูกกำหนดในเทมเพลต แต่สามารถแทนที่โดยผู้เขียนแบบดาวน์สตรีมได้
ขั้นตอนแรกที่สำคัญสำหรับไซต์และผู้ดูแลระบบของแบรนด์คือการกำหนดสมดุลที่ถูกต้องระหว่างข้อจำกัดและความยืดหยุ่นสำหรับโครงร่างรองและผู้เขียนหน้า เมื่อมีการใช้เทมเพลต ยอดดุลนี้จะได้รับการกำหนดค่าโดยสมบูรณ์ ทำให้ส่งผลกระทบ ไม่ว่าองค์ประกอบของหน้ามีการปรับปรุงส่วนกลาง (ถูกล็อคในเทมเพลต) หรือเหลือไปยังระดับรองแต่ละระดับที่ต่ำกว่าในลำดับชั้นของหน้า
ความสัมพันธ์ระหว่างค่าเริ่มต้นของเทมเพลตและเนื้อหาของหน้า
ฟังก์ชันหลักของเทมเพลตคือเพื่อปรับปรุงประสบการณ์การสร้างโมดูลเมื่อมีการสร้างเพจขึ้น ถึงแม้ว่าจะตั้งค่าเริ่มต้นของโมดูลไว้ หรือถูกล็อคในขณะที่อยู่ในเท็มเพลต ก็ไม่มีการเชื่อมต่อข้อมูลเพิ่มเติมจากการตั้งค่าคอนฟิกโมดูลของหน้าเป็นค่าเริ่มต้น ยกเว้นเมื่อแก้ไขหน้า เทมเพลตจะควบคุมประสบการณ์การสร้างโครงสร้างหน้า และหลังจากที่สร้างหน้าแล้ว ค่าเริ่มต้นของเทมเพลตจะไม่เชื่อมโยงกับเนื้อหาแปลเป็นภาษาท้องถิ่นในหน้านั้นอีกต่อไป กล่าวอีกอย่างคือ ค่าเริ่มต้นของโมดูลที่ตั้งค่าในเท็มเพลตจะควบคุมประสบการณ์การสร้างหน้ารอง ซึ่งไม่ได้ควบคุมเนื้อหาในหน้าเหล่านั้น หลังจากสร้างและแก้ไขหน้าแล้ว
ข้อยกเว้นเพียงอย่างเดียวกับลักษณะการการรักษาความปลอดภัยที่อธิบายไว้ก่อนหน้านี้จะเกิดขึ้นเมื่อ ส่วนย่อย ถูกเพิ่มลงในเทมเพลต ส่วนย่อยสามารถใช้เพื่อเพิ่มหรือแก้ไขเนื้อหาเป็นภาษาท้องถิ่นได้แบบไดนามิกในหน้ารองทั้งหมดของเทมเพลตหรือโครงร่างเมื่อใดก็ได้ แม้แต่หลังจากที่สร้างหน้าหลายหน้าจากเทมเพลตที่มอบแล้วแล้ว แนวทางที่พึงปฏิบัติคือการใช้ส่วนย่อยของเทมเพลตและโครงร่าง เมื่อใดก็ตามที่ควรเพิ่ม ลบ หรือแก้ไขเนื้อหาเฉพาะที่แบบไดนามิกในทุกหน้ารอง ตัวอย่างเช่น ควรใช้ส่วนย่อยสำหรับส่วนหัว ส่วนท้าย ข้อมูลเมตา/สคริปต์ทั่วไป หรือเนื้อหาอื่นๆ ที่ต้องสามารถแก้ไขได้จากส่วนกลางและเหมือนกันในหน้ารองทั้งหมด ส่วนย่อยให้วิธีใช้เท็มเพลตและโครงร่างเพื่อควบคุมเนื้อหาในหน้ารองทั้งหมดได้
เมื่อต้องการเริ่มต้นใช้เทมเพลต ดูที่ ทำงานกับเทมเพลต
โครงร่าง
โครงร่างคือระดับต่อไปในลำดับชั้นของแบบจำลองหน้าใต้เทมเพลต ในขณะที่เทมเพลตจะกำหนดโมดูลทั้งหมดที่ได้รับอนุญาตสำหรับหน้า โครงร่างจะเป็นการเลือกและการจัดเรียงโมดูลที่ชัดแจ้ง หน้าคือระดับต่อไปในลำดับชั้นของแบบจำลองหน้าใต้โครงร่าง มีการกำหนดเนื้อหาที่แปลเป็นภาษาท้องถิ่นสำหรับโมดูลที่เลือกในโครงร่าง
ตัวอย่างต่อไปนี้สร้างบนตัวอย่างเทมเพลตจากส่วนก่อนหน้านี้ และแสดงวิธีการตั้งค่าคอนฟิกโครงร่างพื้นฐาน:
เทมเพลตหลักของโครงร่างจำเป็นต้องมีคอนเทนเนอร์เนื้อหาระหว่างหนึ่งและสิบโมดูล โมดูลเหล่านี้อาจมีเฉพาะฮีโร่ คุณสมบัติ มุมมองวงล้อ และโมดูลแบนเนอร์เท่านั้น โครงร่างสามารถกำหนดการเลือกและการจัดเรียงของโมดูลดังต่อไปนี้
- โมดูลที่แรกในคอนเทนเนอร์เนื้อหาเป็นโมดูลแบนเนอร์ และตามด้วยโมดูลฮีโร่และโมดูลลักษณะการทำงานสองโมดูล
- โมดูลคุณลักษณะการทำงานแรกคือการจัดตำแหน่งชิดซ้าย และโมดูลคุณลักษณะการทำงานที่สองคือการจัดตำแหน่งชิดขวา
ถึงแม้ว่าจะมีการรับส่วนท้ายกระดาษที่เป็นค่าเริ่มต้นจากเทมเพลตหลัก ผู้สร้างเทมเพลตจะปล่อยให้ส่วนท้ายถูกปลดล็อก โครงร่างสามารถแทนที่ด้วยการกำหนดส่วนท้ายที่แตกต่างกัน
โครงร่างในตัวอย่างนี้กำหนดการจัดเรียงครั้งสุดท้ายของโมดูลสำหรับหน้ารอง เช่นเดียวกับเทมเพลต โครงร่างสามารถกำหนดคุณสมบัติโมดูลเริ่มต้นหรือล็อกที่จะสืบทอดมาจากหน้ารองเสมอ (ตัวอย่างเช่นการจัดตำแหน่งของโมดูลลักษณะการทำงาน) เนื้อหาจริงหรือข้อมูลสำหรับแต่ละโมดูลในโครงร่างจะถูกกำหนดให้มีการตั้งค่าตามลำดับชั้นในแต่ละอินสแตนซ์ของหน้ารอง ความแตกต่างที่สำคัญที่นี่คือโครงร่างไม่มีเนื้อหาที่แปลเป็นภาษาท้องถิ่นได้โดยตรง ในขณะที่หน้ารองมี ฟังก์ชันหลักของโครงร่างคือเพื่อกำหนดการจัดเรียงครั้งสุดท้ายและการตั้งค่าคอนฟิกเริ่มต้นของโมดูลสำหรับหน้ารอง
ลำดับชั้นนี้มีประสิทธิภาพสำหรับสองเหตุผล ข้อแรก โครงร่างที่ใช้เทมเพลตหลักเดียวกันจะถือว่าเข้ากันได้กับสถานการณ์จำลองการเปลี่ยนโครงร่าง ดังนั้น โครงร่างสำหรับหน้าใดๆ สามารถเปลี่ยนเป็นโครงร่างอื่นจากลำดับชั้นเทมเพลตนี้ได้โดยไม่ต้องกำหนดให้เนื้อหาระดับหน้านั้นถูกตรวจสอบ คุณสามารถใช้ประโยชน์จากความสามารถนี้ในการปรับปรุงการออกแบบตามฤดูกาล การทดลอง หรือทำการออกแบบเว็บไซต์ถาวรได้ ประการที่สอง โครงร่างมีอีกทางเลือกหนึ่งในการปรับเปลี่ยนองค์ประกอบที่ใช้ร่วมกันสำหรับกลุ่มของหน้าโดยไม่จำเป็นต้องมีการอัพเดตแต่ละหน้า ตัวอย่างเช่น ถ้าประเภทผลิตภัณฑ์มี 1,000 pages ที่ใช้โครงร่างเดียวกัน จะมีการลำดับโมดูลในโครงร่างใหม่ และการเปลี่ยนแปลงนี้จะสะท้อนให้เห็นในหน้ารองทั้ง 1,000 หน้าโดยทันที
ด้วยการทำความเข้าใจลำดับชั้นนี้ คุณสามารถจัดทำโครงสร้างไซต์ที่คล่องตัวและมีประสิทธิภาพ ซึ่งจะช่วยประหยัดต้นทุน ทำให้ปรับสเกลได้ และสร้างผลลัพธ์ที่ดียิ่งขึ้นเมื่อไซต์พัฒนาไปตามเวลา
โครงร่างที่กำหนดไว้ล่วงหน้าและที่กำหนดเอง
โครงร่างบนไซต์ของคุณอาจทั้งแบบ กำหนดล่วงหน้า หรือแบบ กำหนดเอง
- โครงร่างแบบกำหนดล่วงหน้า อนุญาตให้ใช้เวิร์กโฟลว์การสร้างหน้าโดยที่โมดูลทั้งหมดถูกเลือกและจัดเรียงแล้ว และต้องมีการป้อนข้อมูลเท่านั้น วิธีการนี้สามารถช่วยประหยัดเวลาเมื่อต้องสร้างหน้าหลายหน้าที่ต้องใช้โครงร่างเดียวกัน โครงร่างที่กำหนดไว้ล่วงหน้ามีความสัมพันธ์แบบหนึ่งต่อกลุ่มที่มีหน้ารอง ดังนั้น สามารถใช้โครงร่างที่กำหนดไว้ล่วงหน้าเดียวเพื่อควบคุมการจัดเรียงโมดูลสำหรับหน้ารองจำนวนเป็นร้อยหรือเป็นพัน
- โครงร่างที่กำหนดเอง จำเป็นต้องมีโครงร่างการใช้ครั้งเดียวที่ฝังอยู่ในหน้าเดียว ผู้ใช้จะไม่ได้รับการเปิดเผยเป็นตัวเลือกเมื่อมีการสร้างหน้าใหม่หรือมีการสลับสถานการณ์จำลองของโครงร่าง ประโยชน์ของวิธีการนี้คือผู้เขียนสามารถทดลองโดยการสร้างหน้าที่ใช้โครงร่างแบบกำหนดเอง ถ้าผู้เขียนต้องการใช้โครงร่างใหม่สำหรับหน้าอื่นๆ ก็สามารถแปลงเป็นโครงร่างที่กำหนดไว้ล่วงหน้าได้อย่างง่ายดาย รูปแบบที่กำหนดไว้ล่วงหน้าใหม่จะถูกเปิดเผยเป็นตัวเลือกในเวิร์กโฟลว์การสร้างหน้า และในสถานการณ์จำลองการสลับโครงร่างสำหรับหน้าจากลำดับชั้นเทมเพลตแบบเดียวกัน ตรงกันข้ามโครงร่างที่กำหนดไว้ล่วงหน้าจะสามารถแตกกิ่งเป็นโครงร่างที่กำหนดเองได้ ด้วยวิธีนี้ผู้เขียนสามารถแบ่งหน้าออกจากโครงร่างที่กำหนดไว้ล่วงหน้า และสร้างโครงร่างแบบกำหนดเองแบบใช้ครั้งเดียวใหม่ก็ได้ (โครงร่างแบบกำหนดเองใหม่นี้ยังคงผูกอยู่กับข้อจำกัดใดๆ ในเทมเพลตหลัก)
มีการแก้ไขโครงร่างที่กำหนดไว้ล่วงหน้าและโครงร่างที่กำหนดเองในส่วนต่างๆ ของชุดเครื่องมือการสร้าง เนื่องจากโครงร่างแบบกำหนดเองไม่มีการอ้างอิงในหน้าอื่นๆ เหล่านี้ ทำให้จะถูกแก้ไขโดยตรงในโปรแกรมแก้ไขหน้า ในกรณีนี้การมีอยู่ของโครงร่างส่วนใหญ่จะมีความโปร่งใสแก่ผู้ใช้ และมีการเปิดเผยในคุณสมบัติระดับหน้าและผ่านการดำเนินการสำหรับตัวเลือกโครงร่างเท่านั้น อย่างไรก็ตาม เนื่องจากการเปลี่ยนแปลงของโครงร่างที่กำหนดไว้ล่วงหน้าอาจส่งผลกระทบต่อหน้ารองหลายๆ หน้า จึงต้องมีการแก้ไขในตัวแก้ไขโครงร่างโดยที่การดำเนินการเผยแพร่จะพิจารณาถึงผลกระทบแบบดาวน์สตรีมบนหน้ารอง
ภาพประกอบต่อไปนี้แสดงสถานการณ์จำลองสำหรับโครงร่างแบบกำหนดไว้ล่วงหน้าและแบบกำหนดเอง
เมื่อต้องการเริ่มต้นการใช้โครงร่างที่กำหนดไว้ ให้ดูที่ การทำงานกับโครงร่างที่กำหนดไว้ล่วงหน้า