ผลต่างระหว่างรุ่นของ "วิธีใช้:แม่แบบ"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Wedjet (คุย | ส่วนร่วม)
Wedjet (คุย | ส่วนร่วม)
บรรทัด 129:
 
สำหรับรายการตัวแปรกังกล่าวดูที่ [[วิธีใช้:เมจิกเวิร์ด]] และเอกสารที่สมบูรณ์กว่าทางหน้ามีเดียวิกิ [[mw:Help:Magic words]] และ [[mw:Help:Extension:ParserFunctions]]
 
===แม่แบบซ้อนใน===
แม่แบบหนึ่ง ๆ อาจบรรจุแม่แบบอื่นด้วย ปกติเรียก ''{{dfn|การซ้อนใน}}'' (nesting) เมื่อมีการประมวลผลแม่แบบ ข้อความวิกิที่ผลิตจากแม่แบบถูกซ้อนในทั้งหมดจะรวมข้ามสู่แม่แบบที่กำลังซ้อนใน เพื่อให้ผลิตภัณฑ์สุดท้ายมีการประมวลผลจากแม่แบบที่ซ้อนในลึกสุดไล่ขึ้นมาเรื่อย ๆ โดยสภาพ แม้เมื่อนำไปปฏิบัติแล้วค่อนข้างตรงไปตรงมา แต่ก็มีทริกและการพลิกแพลงบางอย่างที่สำคัญ
 
ในการส่งค่าตัวแปรเสริมไปยังแม่แบบที่ถูกซ้อนใน ให้วางป้ายระบุตัวแปรเสริมเป็นค่าของตัวแปรเสริมหนึ่งในแม่แบบที่ถูกซ้อนในนั้น
;ตัวอย่างเช่น
:แม่แบบ:A มี <code><nowiki>"the quick brown {{B|{{{3}}} }} jumps over..."</nowiki></code> รหัสนี้นำค่าที่ส่งไปยังตัวแปรไม่มีชื่อลำดับที่สามของแม่แบบ:A แล้วส่งค่านั้นเป็นตัวแปรเสริมไม่มีชื่อลำดับแรกของแม่แบบ:B แล้วคืนข้อความวิกิที่ผลิตจาก B เป็รส่วนหนึ่งของวลี
:แม่แบบ:A มี <code><nowiki>"the quick brown {{B|waldo={{{3}}} }} jumps over..."</nowiki></code> รหัสนี้มีผลเหมือนตัวอย่างแรก ยกเว้นตัวแปรเสริมไม่มีชื่อลำดับที่สามของแม่แบบ:A ถูกส่งไปยังตัวแปรเสริมมีชื่อ "waldo" ของแม่แบบ:B
 
สำหรับตัวแปรเสริมแม่แบบเองสามารถเลือกแบบมีเงื่อนไขได้
;ตัวอย่าง
:แม่แบบ:A มี <code><nowiki>the quick brown {{B|{{{3}}}=fox}} jumps over...</nowiki></code> แม่แบบ:A ผ่านคำว่า "fox" เป็นตัวแปรเสริมมีชื่อหนึ่งของแม่แบบ:B ซึ่งชื่อของแม่แบบ:B เป็นตัวแปรเสริมไม่มีชื่อลำดับสามของ A
:<code>{<nowiki />{#if: {{var|สายอักขระทดสอบ}} | {{var|ค่าถ้าสายอักขระทดสอบไม่ว่าง}} | {<nowiki />{#if: {{var|สายอักขระทดสอบ}} | {{var|ค่าถ้าสายอักขระทดสอบไม่ว่าง}} | {{var|ค่าถ้าสายอักขระทดสอบว่าง (หรือมีเฉพาะช่องว่าง)}} }} }}</code>
 
แม่แบบสามารถเรียดตัวเองได้ แต่จะหยุดหลังการวนซ้ำหนึ่งรอบเพื่อป้องกันวงวนไม่รู้จบ
 
เมื่อแม่แบบซ้อนในมีวงเล็บไม่เข้าคู่ เช่นใน <code>{{tl|lb}}&#125;</code> วงเล็บที่ไม่เข้าคู่นั้นจะถือเป็นข้อความระหว่างการประมวลผล และไม่มีผลต่อการแจงส่วนวงเล็บในแม่แบบที่กำลังซ้อนใน ทว่า หากแม่แบบที่ถูกซ้อนในมีการแทนที่ จะประมวลผลการแทนที่ก่อน แล้ว{{em|จะ}}เปลี่ยนแปลงวิธีที่มีการแจงส่วนวงเล็บในแม่แบบที่กำลังซ้อนใน เป็นกรณีที่พบน้อย แต่บางทีก็ทำให้เกิดข้อผิดพลาดที่ไม่คาดคิดได้
 
ดูสารสนเทศเพิ่มเติมที่ [[meta:Help:Advanced templates]] และ [[meta:Help:Recursive conversion of wikitext]] ทั้งสองหน้ายังมีสารสนเทศเกี่ยวกับการเรียกแม่แบบอย่างไม่ธรรมดา เช่น <code><nowiki>{{template {{{parameter|}}} }}</nowiki></code>
 
{{หน้าวิธีใช้วิกิพีเดีย}}