Coldfusion / מדריך Coldfusion / CFIF ו-CFELSE
CFIF ו-CFELSE
אחרי שהוצאתם את הכסף הנוסף תשמחו לשמוע ש-coldfusion עושה הרבה יותר מלהוציא פלטים ממאגרי מידע. יש לה עוד הרבה טריקים נסתרים ביניהן מערכים של תוויות שמרחיבים בצורה משמעותית את היכולות של HTML.
תיעוד התוכנה כולל התייחסות שלמה לכל מערכי התוויות פלוס הוראות לפיתוח תוויות מותאמות אישית. דפי התמיכה של Allaire מציעים הרבה מאוד קישורים לתוויות אישיות שמשתמשי CF אחרים יצאו עבור היישומים שלהם; חלקם מוצעים בחינם וחלקם לא. שימו לב שאם אתם מריצים גרסא מיושנת של CF, יתכן ולא תצליחו לתמוך במספר תוויות כאלה.
הבה נעבור על התוויות הכל כך שימושיות <CFELSE> ו-<CFIF>.
לטבלת ה-Contents שלנו אנחנו עומדים להוסיף שדה חדש בשם Picture. שדה זה יכלול URL שתכוון למקום מסוים באתר שלנו בו שמורות תמונות של כל מה שיש בכיס שלי. אם היינו רוצים פשוט להציג תמונה של כל פריט ליד הטקסט המתאר אותה היינו משתמשים בביטוי CFOUTPUT שנראה כך:
<CFOUTPUT QUERY= "pocket">
Item: #Item# <BR>
<IMG SRC="#Picture#"> <BR>
</CFOUTPUT>
זאת לא בעיה, מאחר ולמשתנים של coldfusion לא אכפת להיות מקורות לתוויות <IMG>, <SRC> או <A HREF>. אבל רק כדי לסבך את העניינים, נאמר שיש לנו תמונות של חלק מהפריטים אבל לא של כולם. בטבלת ה-Contents שלנו פריטים שאין להם תמונה ילוו בשדה Picture ריק. אם היינו עושים שימוש בפרק CFOUTPUT כמו זה שלעיל, היינו מקבלים הרבה מאוד תמונות שבורות.
אז בואו נשתמש בתווית <CFELSE> coldfusion ו-<CFIF> כדי ליצור ביטוי if-then (אם-אז) פשוט שיבדוק אם שדה Picture מכיל טקסט או לא.
<CFOUTPUT QUERY= "pocket">
Item: #Item# <BR>
<CFIF #Picture# EQ"">
<IMG SRC="my_generic_picture.jpg"> <BR>
<CFELSE>
<IMG SRC="#Picture#"> <BR>
</CFIF>
</CFOUTPUT>
מה שעשינו כאן בעצם הוא ליצור מבחן פשוט בו בוחנת coldfusion את שדה Picture שלנו ועושה דבר אחד אם הוא ריק (NULL) ודבר אחר אם מופיע בו טקסט. בקוד הנ"ל, עשיתי שימוש בתמונה גנרית שתופיע ליד פריטים שאין לי את התמונה שלהם. זה יכול להיות סימול "בבניה", תמונה של אמא שלכם בביקיני או כל דבר אחר. אם לא הייתי רוצה שיופיע שם שום דבר, הייתי פשוט מאוד משהו את השורה שאחרי התווית <CFIF> ריקה.
הבחינה שאתם מריצים על שורת CFIF לא חייבת להיות בחינת NULL או NOT NULL פשוטה. אתם יכולים גם לבצע חישובים, פעולות בוליאניות וכל שאר הדברים האחרים שאין לי מקום לפרט כאן. אבל הבנתם את הרעיון הכללי, נכון?
עמוד הבא: סיכום >>
|
|
|
|