עזרה:תבניות

מתוך ויקימסע

תבנית (באנגלית: Template) היא שיטת עריכה בוויקימסע המאפשרת הצגת תוכן דף מסוים בדף אחר, בלי להעתיק אותו. תבנית היא דף שכתוב בצורה רגילה שאפשר "להשתיל" בכל דף בוויקימסע, ומוצג כפי שהוא בזמן אמת. השימוש בתבנית מרכז טקסט במקום אחד, מונע כפילויות ושומר על אחידות בדפי ויקימסע.

השימוש בשיטה זו דומה ליצירת קישור, אך במקום להוסיף שני זוגות של סוגריים מרובעים משני צִדי המילה ([[ ו־]]) יש להשתמש בשני זוגות של סוגריים מסולסלים ({{ ו־}}). ניתן להעתיק בצורה זו את תוכנו של כל דף בכל מרחב שם, אך נהוג להעתיק דפים מתוך המרחב "תבנית:", שנוצר לשם כך. ההסברים שלהלן מתבססים על שימוש במרחב שם זה. לגבי שימוש בשיטה זו לדפים מסוגים אחרים ראו בהמשך.

יצירת תבנית פשוטה[עריכה]

כדי ליצור תבנית חדשה, כתבו במקום כלשהו (ארגז החול, למשל) את הטקסט הבא:

{{שם התבנית הרצויה}}

או:

[[תבנית:שם התבנית הרצויה]]

כאשר במקום "שם התבנית הרצויה" יש לכתוב את שם התבנית. רצוי שהשם יהיה בעברית.

לאחר שעשיתם זאת, שמרו את הדף ותקבלו קישור אדום כזה:

תבנית:שם התבנית הרצויה

לחצו על הקישור וערכו את התוכן בו כמו כל דף רגיל. בכל מקום שבו תרצו להוסיף את התבנית, כתבו את הטקסט {{שם התבנית הרצויה}}. התוכן שהזנתם לתבנית יופיע בדף באופן אוטומטי.

דוגמה[עריכה]

אם רוצים לכתוב תבנית תחת השם "חדש" יש לכתוב:

[[תבנית:חדש]]

לאחר הכתיבה מקבלים את התוצאה הבאה:

תבנית:חדש

לחיצה על הקישור תפתח דף עריכה חדש. יש לערוך אותו כמו כל דף רגיל, ולשמור בסיום העריכה.

בכל מקום בו יש להוסיף את תבנית, יש לכתוב את הטקסט:

{{חדש}}.

כדי לערוך את תוכנה של תבנית קיימת, אפשר לעשות זאת על ידי עריכת דף המכיל את התבנית: מתחת לאזור העריכה תופיע רשימה של תבניות המופיעות בדף. שימו לב כי קישור מהצורה {{שם התבנית הרצויה}} ישתיל את תוכן התבנית בדף בעוד קישור מהצורה [[תבנית:שם התבנית הרצויה]] יוביל לדף התבנית.

יצירת תבנית פרמטרית[עריכה]

ישנה אפשרות ליצור תבניות בעלות פרמטרים, שאותם ניתן לשנות בכל דף בו מופיעה התבנית. יצירת תבנית פרמטרית זהה ליצירת תבנית רגילה, ולפיכך יש לבצע את כל השלבים המתוארים בסעיף הקודם. ישנם שני סוגי פרמטרים: פרמטר שמי ופרמטר מספרי.

פרמטר שמי[עריכה]

לאחר שנוצרה תבנית, יש לכתוב בה שם פרמטר כאשר הוא ממוקף בשלושה סוגרים מסולסלים משני צדדיו (שימו לב: הוספת שני סוגרים מסולסלים תוביל ליצירת תבנית חדשה נוספת, ועל כך יש להקפיד). דוגמה לצורת כתיבת פרמטר:

{{{פרמטר1}}}

השימוש בפרמטר בדף היעד ייעשה על פי הסדר הבא:

  • שם התבנית
  • תו מפריד (|)
  • שם הפרמטר
  • הסימן =
  • ערך הפרמטר.

דוגמה[עריכה]

תחביר:

{{שם תבנית|פרמטר1=ערך1|פרמטר2=ערך2|פרמטר3=ערך3}}

דוגמה מעשית:

{{חדש|תמונה=ירושלים.jpg|שם=ערי בירה}}

ניתן לפרוס את הטקסט הנ"ל במאונך, אם ישנם פרמטרים רבים. תחביר:

{{שם תבנית
|פרמטר 1=ערך1
|פרמטר 2=ערך2
|פרמטר 3=ערך3
}}

פרמטר מספרי[עריכה]

ניתן לכתוב פרמטרים ללא שם. במקרה כזה יש לתת לפרמטר מספר, כאשר הוא נמצא בין שלושה סוגרים מסולסלים. לדוגמה:

{{{1}}}

בתבנית בה מופיעים הפרמטרים {{{1}}}, {{{2}}} ו־{{{3}}} צורת הכתיבה הרגילה (להוציא מקרים מיוחדים, ראו בהמשך) בדף היעד לא תהיה:

{{שם התבנית|1=ערך1|2=ערך2|3=ערך3}}

אלא:

{{שם תבנית|ערך1|ערך2|ערך3}}

לדוגמה:

{{חדש|ירושלים.jpg|ערי בירה}}

החסרון בשימוש בתבנית כזו הוא שבריבוי פרמטרים, קשה לזכור מה יעודו של כל פרמטר, וקל להתבלבל בהם. מומלץ להשתמש בפרמטר זה רק כאשר יש שימוש בפרמטרים ספורים. חסרון נוסף בשימוש בפרמטרים מספריים הוא שלא ניתן להזין את הסימן שווה (=). לדוגמה, בתבנית {{חדש|ירושלים.jpg|ערי בירה = Capitals}} אין פרמטרים שמיים, ואולם, התבנית תתייחס ל-"ערי בירה" כאל שם של פרמטר, ול-"Capitals" כאל המידע שמוזן לו. כדי לעקוף בעיה זו, ניתן להזין את הקוד הבא במקום סימני שווה:

=

לחלופין, ניתן להתייחס לפרמטר המספרי כאילו היה פרמטר שמי, ולציינו במפורש בעת השימוש בתבנית: {{חדש|ירושלים.jpg|‏2=ערי בירה = Capitals}}

בעיה זו נמנעת אם מגדירים את התבנית מלכתחילה עם פרמטרים שמיים. כלומר, התבנית {{חדש|תמונה=ירושלים.jpg|שם=ערי בירה = butterfly family}} תעבוד מצוין.

ניתן "לערבב" בתבנית אחת את הפרמטרים מסוג שם ומסוג מספר ביחד.

שינויי פרמטרים בתבנית קיימת[עריכה]

שימו לב: במקרה שמשנים בתבנית קיימת את מספר הפרמטרים, או שמשנים את הסדר שלהם, השינוי יבוא לידי ביטוי בכל הדפים שבהם הוכנסה התבנית לפני השינוי וזה עלול ליצור תוצאות לא צפויות ובלתי רצויות, כגון, הוצאת דברים מהקשרם או הופעת טקסט מיותר.

כדאי לתת על כך את הדעת בזמן שמשנים את התבנית ובכך ניתן למנוע את הבעיה לפני שנוצרה.

הגדרת ברירת מחדל לפרמטר[עריכה]

ניתן להגדיר ברירת מחדל לפרמטר כך שאם לא יוכנס ערך לפרמטר יופיע טקסט ברירת המחדל. כדי להגדיר ברירת מחדל לפרמטר כלשהו, לדוגמה, ל-{{{שם העיר}}} יש להוסיף קו אנכי (|) ולאחריו את טקסט ברירת המחדל באופן הבא:

{{{שם העיר|טקסט ברירת מחדל}}}

דוגמה נפוצה לשימוש בברירת המחדל היא באמצעות שימוש בתבניות קבועות של המערכת, כגון {{שם הדף}} המחזיר את שם הדף. הקוד

{{{שם העיר| {{שם הדף}} }}}

מאפשר לעורכים למלא את שם העיר, ואם פרמטר זה נותר ריק, ישמש שם הדף במקומו של הפרמטר.

בדיקת ערך לפרמטר[עריכה]

בכדי לבדוק האם לתבנית הוזן פרמטר, ניתן לעשות בדיקה באמצעות משפט תנאי הבא:

{{#if: {{{param|}}} | Hooray...! | Darn...! }}

תוצאה:Darn...!

או בעברית

{{#תנאי: {{{פרמטר|}}} | יש ערך...! | אין ערך...! }}

תוצאה:אין ערך...!

בפרמטר הראשון מקבלים את התוצאה כאשר יש ערך, ובפרמטר השני כאשר אין ערך.

הוספת הכיתוב "ס:" לפני שם של תבנית (או שם של דף כאשר הוא מוקף בסוגריים מסולסלים) גורמת להעתקת הדף בשלמותו מתוך דף המקור, כך שבעיון חוזר בדף העריכה לא ניתן יהיה לדעת שנעשה שימוש בתבנית כלשהי. לדוגמה, אם ניקח את התבנית {{@}}, הוספת ה-"ס:" תיראה כך:

{{ס:@}}

והתוצאה תיראה כך:

-at-

והקוד, בזמן עריכה, ייראה כך:

[[קובץ:@@@.svg| -at- |link=|13px]]

להמחשת הרעיון, ניתן לגשת לארגז החול, שם להוסיף את התבנית {{@}}, ואז לשמור את הדף. תבנית זו מוסיפה תמונה קטנה בצורת סימן "@". אם נערוך את ארגז החול בשנית, נמצא את הטקסט שהוספנו ללא שינוי. כעת נוסיף "ס:" אחרי הסוגרים המסולסלים ולפני שם הדף (במקרה זה, שם הדף הוא "@") ונשמור את הדף בפעם השנייה. הדף נראה ללא שינוי, אולם אם נכנס שוב לדף העריכה, נמצא כי הטקסט ששמרו שונה, ועכשיו מופיע הטקסט שגרם לתמונה להופיע, טקסט שהופיע בדף המקור, ב-{{@}}.

ניתן לעשות באפשרות זו שימוש במקרים שבהם אין צורך לעדכן שנית את הטקסט, וכל המטרה היא לחסוך פעולת "העתק-הדבק". שימוש מסיבי ב-"ס:" היכן שאין צורך שתהיה תבנית מעודכנת עשוי להקטין את העומס על השרת. מנגד, החסרון הוא חוסר הדינמיות של תכונה זו: אם תתבצע עריכה בדף התבנית, השינוי לא ישתקף בדף אליו הועתקה התבנית. שימוש בתכונה זו לא מומלץ אפוא בתבניות ניווט בערכים.

קיים גם מספר מועט של תבניות שמחייבות שימוש בתכונה זו, כדוגמת {{הבהרת חשיבות}}, אשר בהיעדר שימוש בתכונה לא תוצג כראוי.

השם הלועזי המקורי של ס: הוא subst:.

השוואה[עריכה]

להלן השוואה בין תבנית רגילה, ו-"ס:".

צורת הכתיבה תצוגה בגלישה מבט אל דף העריכה

{{אחרי התנגשות}}

הוספתי לאחר התנגשות עריכה -

{{אחרי התנגשות}}

{{ס:אחרי התנגשות}}

הוספתי לאחר התנגשות עריכה -

<span style="font-size: 75%">הוספתי לאחר התנגשות עריכה -</span>

התייחסות לדף רגיל כאל תבנית[עריכה]

אפשר להתייחס לכל דף כאילו היה תבנית, באמצעות מיקוף בשני סוגריים מסולסלים והקדמת נקודתיים לשם.

{{:שם ערך}}

אם, לדוגמה, ברצונכם להעתיק את כל תוכן הערך טבריה לדף מסוים, כתבו בדף היעד את הטקסט:

{{:טבריה}}

שימו לב לסימן הנקודתיים ( : ) המופיע לפני שם הערך (טבריה, במקרה זה). אם יתבצע שינוי בערך "טבריה", השינוי ישתקף בצורה אוטומטית גם בדף היעד, בלי שנעשה בו עצמו אף שינוי.

בדרך דומה ניתן להעתיק את תוכנם של דפים אחרים, שאינם נמצאים במרחב השם המרכזי. לדוגמה: כדי להעתיק את כל תוכנו של דלפק הייעוץ לדף מסוים, יש להקיש בו את הטקסט הבא:

{{ויקימסע:דלפק יעוץ}}

שימו לב שבמקרה זה לא נוספו נקודתיים לפני המילה "ויקימסע:". ניתן להעתיק בצורה דומה טקסטים ממרחבי שם אחרים, כדוגמת "משתמש:", "קטגוריה:", "שיחת ויקימסע:" וכדומה.

גם במקרה של שימוש כזה בתבניות ניתן להשתמש ב־"ס:" ובפרמטרים.

דפי הפניה[עריכה]

ברגע שיוצרים דף הפניה מתבנית לתבנית, ויקימסע תתייחס לדף ההפניה באותו האופן בו היא מתייחסת לתבנית עצמה.

תכנים שיופיעו בתבנית בלבד או שיופיעו רק בדפים המכילים את התבנית[עריכה]

לעתים יש צורך שתוכן מסוים יוצג בתבנית בלבד, ולא בדפים המכילים אותה (כגון הסברים לשימוש בתבנית, הקטגוריה של התבנית, קישורי בינוויקי, או הצבעת מחיקה על תבנית). במקרים אלו יש להשתמש בתג <noinclude> באופן הבא:

<noinclude>תוכן שמופיע בתבנית בלבד, ולא בדפים המכילים אותה.</noinclude>

לעתים מעוניינים במצב ההפוך; שתוכן יוצג בדפים המכילים את התבנית, אך לא בתבנית עצמה. במקרים אלו יש להשתמש בתג <includeonly> באופן הבא:

<includeonly>תוכן שלא מופיע בתבנית, אבל מופיע בדפים המכילים אותה.</includeonly>

בעת שימוש בתג <noinclude> יש לוודא כי הוא ממוקם בצמוד לתו האחרון שרצוי שיופיע בדפים המכילים את התבנית. לדוגמה, מיקום תג <noinclude> לאחר ירידת שורה יוביל להכללת שורת רווח מיותרת בדפים המכילים את התבנית ואף עלול לגרום לבעיות עימוד בין מלל הערך לטבלה שמקורה בתבנית.

טבלאות[עריכה]

פעמים רבות יש צורך ליצור טבלה בתוך תבנית, אך לעתים יש גם צורך להסתיר את התאים שאינם בשימוש. לפני קריאת פרק זה, מומלץ להכיר כיצד לבנות טבלאות בתחביר ויקי.

{{{שם העיר}}}
מדינה {{{מדינה}}}
שפה רשמית {{{שפה רשמית}}}
מטבע {{{מטבע}}}
{{{אתר תיירות רשמי}}}

הטבלה משתמשת בשני אמצעים עיקריים: בתבנית {{!}}, שמציגה קו אנכי (|) ובהוראת תנאי מסוג {{#תנאי:הפרמטר לבדיקה|מה לכתוב אם הפרמטר קיים|מה לכתוב אם הפרמטר אינו קיים}}. נמחיש כיצד לבנות טבלה מסודרת באמצעות דוגמה: אנו מעוניינים ליצור את הטבלה שמשמאל עבור ערכי ערים. כפי שניתן לראות, כל התאים בטבלה זו מוצגים. כעת נשנה את כל הפרמטרים, מלבד הפרמטר "שם העיר", כך שאם יהיו ריקים, לא תוצג השורה שלהם כלל.

עבור כל שורה שבה שתי עמודות, יש להשתמש בקוד הבא:

{{#תנאי:{{{פרמטר|<noinclude>-</noinclude>}}} |
{{!}} פרמטר
{{!}} {{{פרמטר}}}
{{!}}-
}}

כאשר את הכיתוב "פרמטר" יש לשנות לשם הפרמטר. בשורה האחרונה, עם הפרמטר "אתר תיירות רשמי", ישנה עמודה אחת בלבד שתוכנה מיושר לאמצע. עבור שורות מסוג זה, נשתמש בקוד הבא:

{{#תנאי:{{{פרמטר|<noinclude>-</noinclude>}}} |
{{!}} colspan="2" סגנון {{!}} {{{פרמטר}}}
{{!}}-
}}

כאשר את הכיתוב "פרמטר" יש לשנות לשם הפרמטר, ואת הכיתוב "סגנון" יש להחליף בסגנון הרצוי, כלומר, במקרה שלנו, יישור לאמצע. לבסוף, לגבי הפרמטר הראשון, נשתמש בברירת המחדל, כך שאם לא ניתן שם העיר, נשתמש בשם הערך במקום. הקוד המלא לדוגמה זו ותוצאותו, להלן:

{| class="wikitable" align="left"
! colspan="2" | {{{שם העיר| {{שם הדף}} }}}
{{!}}-
{{#תנאי:{{{מדינה|<noinclude>-</noinclude>}}} |
{{!}} מדינה
{{!}} {{{מדינה}}}
{{!}}-
}}
{{#תנאי:{{{שפה רשמית|<noinclude>-</noinclude>}}} |
{{!}} שפה רשמית
{{!}} {{{שפה רשמית}}}
{{!}}-
}}
{{#תנאי:{{{מטבע|<noinclude>-</noinclude>}}} |
{{!}} מטבע
{{!}} {{{מטבע}}}
{{!}}-
}}
{{#תנאי:{{{אתר תיירות רשמי|<noinclude>-</noinclude>}}} |
{{!}} colspan="2" style="text-align: center;" {{!}} {{{אתר תיירות רשמי}}}
}}
|}
תבניות
מדינה {{{מדינה}}}
שפה רשמית {{{שפה רשמית}}}
מטבע {{{מטבע}}}
{{{אתר תיירות רשמי}}}

אם תשתמשו בקוד זה בתוך תבנית, ולאחר מכן תשתמשו בתבנית זו, תראו כי אם לא תמלאו את הפרמטרים "מדינה", "מטבע", "שפה רשמית" ו"אתר תיירות רשמי", לא תוצג השורה שלהם. דוגמה "חיה" לשימוש זה ניתן למצוא בתבנית {{עיר}}.

ראו גם[עריכה]