אודות תבניות של Dreamweaver

עודכן לאחרונה בתאריך 27 באפריל 2021

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

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

פתק

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

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

פתק

התבניות ב- Dreamweaver שונות מהתבניות בחלק מהתוכנות האחרות של Adobe Creative Suite בכך שמקטעי דפים בתבניות של Dreamweaver הם קבועים (או לא ניתנים לעריכה) כברירת מחדל.

סוגי אזורים בתבנית

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

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

ישנם ארבעה סוגי אזורים בתבנית:

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

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

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

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

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

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

כשאתם מוסיפים קישור רלטיבי למסמך חדש לקובץ תבנית, קל להזין נתיב שגוי אם אתם מקלידים את הנתיב לתוך תיבת טקסט הקישור ב-Property inspector. הנתיב הנכון בקובץ תבנית הוא הנתיב מתיקיית Templates למסמך המקושר, לא הנתיב מתיקיית המסמך שמבוסס על התבנית למסמך המקושר. ודאו שהנתיבים הנכונים לקישורים קיימים על ידי שימוש בסמל התיקייה או בסמל Point-to-file ב-Property inspector כשיוצרים קישורים בתבניות.

תסריטי שרת בתבניות ובמסמכים שמבוססים על תבנית

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

כדי להימנע מהבעיה הזאת, אתם יכולים להכניס את הקוד הבא בחלק head של התבנית:

<!-- TemplateInfo codeOutsideHTMLIsLocked="true" -->

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

פרמטרים של תבנית

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

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

ביטויי תבנית

ביטויי תבנית הם ביטויים שמחשבים או מעריכים ערך.

תוכלו להשתמש בביטוי כדי לאחסן ערך ולהציג אותו במסמך. לדוגמה, ביטוי יכול להיות פשוט כמו הערך של פרמטר, כגון @@(Param)@@, או מורכב מספיק כדי לחשב ערכים שמחליפים את צבע הרקע בשורת טבלה, כגון @@((_index & 1) ? red : blue)‎@‎@‎.

ניתן גם להגדיר ביטויים לתנאי if ו-multiple-if. כשביטוי מופיע בהצהרת תנאי, Dreamweaver בודק אם הוא מחזיר ערך אמת או false. אם התנאי נכון, האזור האופציונלי מופיע במסמך המבוסס על התבנית; אם הוא שקרי, הוא לא מופיע.

תוכלו להגדיר ביטויים בתצוגת Code או בתיבת הדו-שיח Optional Region כאשר תכניסו אזור אופציונלי.

בתצוגת Code, ישנן שתי דרכים להגדיר ביטויי תבנית: השתמשו בהערה <!-- TemplateExpr expr="your expresson"--> או @@(your expression)@@. כאשר תכניסו את הביטוי בקוד התבנית, סמן ביטוי מופיע בתצוגת Design. כאשר תחילו את התבנית, Dreamweaver מעריך את הביטוי ומציג את הערך במסמך המבוסס על התבנית.

שפת ביטויי תבנית

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

@@(firstName+lastName)@@

יש תמיכה בתכונות ובאופרטורים הבאים:

  • ליטרלים מספריים, ליטרלים של מחרוזות (תחביר גרשיים כפולים בלבד), ליטרלים בוליאניים (true או false)

  • הפניה למשתנה (ראו את רשימת המשתנים המוגדרים בהמשך בחלק זה)

  • הפניית שדה (האופרטור “dot”)

  • אופרטורים אונריים: +, -, ~, !

  • אופרטורים בינאריים: +, -, *, /, %, &, |, ^, &&, ||, <, <=, >, >=, ==, !=, <<, >>

  • אופרטור תנאי: ‎?:

  • סוגריים: ()

    סוגי הנתונים הבאים נמצאים בשימוש: בוליאני, נקודה צפה IEEE 64‑bpc, מחרוזת ואובייקט. תבניות Dreamweaver אינן תומכות בשימוש בסוגים "null" או "undefined" של JavaScript. הן גם אינן מאפשרות לסוגים סקלאריים להיות מומרים באופן משתמע לאובייקט; לכן, הביטוי "abc".length יגרום לשגיאה, במקום לתת את הערך 3.

    האובייקטים היחידים הזמינים הם אלה שמוגדרים על ידי מודל האובייקט של הביטוי. המשתנים הבאים מוגדרים:

    ‎_document

    מכיל את נתוני התבנית ברמת המסמך עם שדה עבור כל פרמטר בתבנית.

    ‎_repeat

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

    ‎_index

    אינדקס מספרי (מ-0) של הפריט הנוכחי

    ‎_numRows

    סה"כ מספר הפריטים באזור החוזר

    ‎_isFirst

    True אם הערך הנוכחי הוא הערך הראשון באזור החוזר שלו

    ‎_isLast

    נכון אם הערך הנוכחי הוא הערך האחרון באזור החוזר שלו

    ‎_prevRecord

    אובייקט ‎_repeat לפריט הקודם. זוהי שגיאה לגשת למאפיין זה עבור הערך הראשון באזור.

    ‎_nextRecord

    אובייקט ‎_repeat לפריט הבא. זוהי שגיאה לגשת למאפיין זה עבור הערך האחרון באזור.

    _parent

    באזור חוזר מקונן, זה מחזיר את אובייקט ה-_repeat עבור האזור החוזר המקיף (החיצוני).זוהי שגיאה לגשת למאפיין זה מחוץ לאזור חוזר מקונן.

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

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

    כאשר נעשה שימוש באזורים חוזרים מקוננים, רק שדות של האזורים החוזרים הפנימיים ביותר זמינים באופן מובלע. יש לבצע הפניה מפורשת לאזורים חיצוניים בעזרת ‎_parent.

תנאי If מרובה בקוד תבנית

תוכלו להגדיר ביטויי תבנית עבור תנאי if ו-multiple-if . הדוגמה הזו מציגה הגדרת פרמטר בשם "Dept", קביעת ערך התחלתי והגדרת תנאי multiple-if הקובע איזה לוגו יוצג.

להלן דוגמה לקוד שתוכלו להזין בקטע head של התבנית:

<!-- TemplateParam name="Dept" type="number" value="1" -->

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

<!-- TemplateBeginMultipleIf -->

<!-- בודק את הערך של Dept ומציג את התמונה המתאימה-->

<!-- TemplateBeginIfClause cond="Dept == 1" --> <img src=".../sales.gif"> <!-- TemplateEndIfClause -->

<!-- TemplateBeginIfClause cond="Dept == 2" --> <img src=".../support.gif"> <!-- TemplateEndIfClause-->

<!-- TemplateBeginIfClause cond="Dept == 3" --> <img src=".../hr.gif"> <!-- TemplateEndIfClause -->

<!-- TemplateBeginIfClause cond="Dept != 3" --> <img src=".../spacer.gif"> <!-- TemplateEndIfClause -->

<!-- TemplateEndMultipleIf -->

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