| ההבדל בין רכיב למודול |
|
לעיתים מאוד קרובות, עולה בקרב משתמשים חדשים וותיקים הבלבול בין רכיב למודול. אולם ברגע שנעשית הבדלה, המבנה הארכיטקטורי של ג'ומלה! נעשה ברור.
זוהי תשובה מספקת למי שסקרן או חסר זמן להתעמק בנפלאות הארכיטקטורה של ג'ומלה!. לאלו שמתענינים יותר, יש עוד הרבה לגלות. כאשר מישהו מבקר באתר, הקובץ index.php נקרא מתיקיית השורש של ג'ומלה!. קובץ זה, טוען הרבה מחלקות וחלקי קוד אשר גורמים לג'ומלה לעבוד. לאחר טעינה זו, ג'ומלה מחפש את התיקייה של התבנית הנוכחית ומנסה לטעון את קובץ ה-index.php שלה שנמצא שם. קובץ ה-index.php שבתיקיית התבנית נראה לרוב כקובץ HTML. בתוך קובץ זה, נמצא קריאת קוד
כברירת מחדל, ג'ומלה! טוענת את הרכיב המתאים לפריט התפריט הראשון (בתפריט הראשי mainmenu). באופן כללי זהו דף הבית (Home) המפנה לרכיב frontpage. רכיב ה-frontpage מציג דפי תוכן שנכתבו ע"י כותבים שונים באתר. לחיצה על אחד התכנים האלו, אומר לג'ומלה! לטעון את רכיב ה-content, יחד עם התוכן הספציפי שנטען מבסיס הנתונים. קישורים אחרים, יכולים להורות לג'ומלה! לטעון רכיבים אחרים. בנוסף לקריאה ל-mosMainBody, מכילה התבנית הרבה קריאות ל:
תבנית אינה נדרשת לטעון מודול לכל האיזורים (או לטעון מודולים בכלל). נהוג לטעון לפחות אחד עבור התפריט, אלא אם רוצים לקודד את הניווט באתר באופן ידני בתבנית (דרך שמאוד לא מומלצת). כאשר גולש כלשהו טוען את האתר, אין להם דרך לדעת האם מדובר במודול או ברכיב. אולם, כל מי שמשתמש בפאנל הניהול לביצוע שינויים באתר ירצה ללמוד כיצד לנהל את האלמנטים האלו. מודולים ניתן להתקין דרך תפריט installers->modules. זה יוביל אותנו לרשימת המודולים המותקנים במערכת טופס להעלאת מודולים חדשים. כאשר נגיע ל-Manage Modules, נקבל רשימה נוספת, אשר תציג לנו את רשימת המודולים ולכל מודול את המידע הבא: פרסום/ביטול, מיקום, סידור. רשימה זו יכולה להיות ארוכה יותר מרשימת המודולים המותקנים משתי סיבות:
כל המודולים מאפשרים שימוש בפרמטרים. פרמטרים הינם הדרך של מפתח המודול לאפשר למנהל האתר לשנות את אפשרויות המודול ללא צורך בממשק עדכון מורכב.
עיצוב ובנייה של ניהול לרכיבים דורש קצת יותר מאמץ, אך כתוצאה מכך מתקבל ממשק פשוט שמאפשר למנהל האתר ניהול של פונקציונאליות מורכבת יותר. כאשר תצורת הניהול של רכיב נטענת, הקובץ:
ברגע שהובן ההבדל בין רכיב למודול, המבנה הכללי של ג'ומלה! כמערכת הופך לפשוט. אם קישורי ה-PHP מאפשרים זאת, אם מניעה מלנות וליצור רכיב או מודול באופן עצמאי. אולם, מומלץ לבדוק קודם כי אין פתרון קיים או תחת פיתוח. רוב הסיכויים, שמישהו כבר יצר פונקציונאליות דומה או קרובה לצרכים הנדרשים. מאמר זה תורגם לעברית והותאם למשתמשים הישראלים ע"י מתי קוצ'ן. כל הזכויות למאמר Components vs. Modules המקורי שייכות ל-Joseph L. LeBlanc.
|