2. מבנה ההרצאה
מה זה פלאגאין ?
איך פלאגאינים עובדים ? ולמה הם משמשים
- סוגי פלאגאין וארועים
מה כל כך נהדר בפלאגינים ?
איך בונים פלאגאין ? דוגמאות
יום ג'ומלה ישראל 2102
3. מה זה פלאגאין?
הרחבה למערכת ג'ומלה – מועדפת עלי
מנוהל על ידי מנהל הפלאגאינים – צד אחורי
(אישור / ביטול / ניהול פרמטרים)
קטע קוד (תוכנית) שרצה בנקודה קבועה
במחזור הריצה של ג'ומלה
- נקודה קבועה = ארוע ()Event
יום ג'ומלה ישראל 2102
4. מה זה פלאגאין?
פלאגאין משהה את מחזור הריצה של ג'ומלה -
בזמן ההשהיה הפלאגאין מריץ את הקוד שלו.
העבודה מתבצעת מאחורי הקלעים
העבודה נסתרת אבל התוצאות נראות לעין
מאפשר לנו לשנות את האופן בו דברים
מתבצעים/מוצגים בקלות, מהירות ועם המון כח.
יום ג'ומלה ישראל 2102
5. איך פלאגאין עובד ?
ג'ומלה מתחילה ארוע " "Fire eventלדוגמא:
אחרי-איתחול-מערכת ""onAfterInitelise
ג'ומלה אוספת את כל הפלאגינים המתאימים
לארוע המבוקש.
הרצה של כל הפלאגאינים לפי הסדר
"."Ordering
חזרה לשגרה ולתהליך הריצה של ג'ומלה.
לעיתים כל מסלול הריצה של ג'ומלה ישתנה אחרי הרצה של פלאגאין
יום ג'ומלה ישראל 2102
6. למה פלאגאינים מסובכים?
רכיב או מודולו בג'ומלה מוגדרים ע"י הפעולה
שהם מבצעים
פלאגאינים מוגדרים ע"י האופן בו הם מבצעים
פעולה
פלאגאינים יכולים לשמש להמון סוגי משימות
ותפקידים אבל כל הפלאגאינים רצים באותו האופן
ארוע -> הרצה -> חזרה למחזור ריצה של ג'ומלה
יום ג'ומלה ישראל 2102
7. אם רק...
ברוב המקרים בהם אתם אומרים לעצמכם:
"אם רק הייתי יכול לגרום למערכת לעבוד
טיפה אחרת"
פלאגאין זה הפתרון
יום ג'ומלה ישראל 2102
10. סרטון הדגמה - רכבת
מנהל האתר מפעיל את הפלאגאין
(שק הדואר)
יום ג'ומלה ישראל 2102
11. סרטון הדגמה - רכבת
רכבת == ג'ומלה
(מבצעת מחזור ריצה)
יום ג'ומלה ישראל 2102
12. סרטון הדגמה - רכבת
משגר הארועים של ג'ומלה זה האיש
עם הוו. הפעולה של הפלאגאין היא
איסוף שק הדואר.
יום ג'ומלה ישראל 2102
13. מבנה ההרצאה
מה זה פלאגאין ?
איך פלאגאינים עובדים ? ולמה הם משמשים
- סוגי פלאגאין וארועים
מה כל כך נהדר בפלאגינים ?
איך בונים פלאגאין ? דוגמאות
יום ג'ומלה ישראל 2102
14. מה אפשר לעשות עם פלאגאין ?
זה אחד הדברים הפחות מובנים בקשר לפלאגאינים
פלאגאין יכול לשמש למגוון רחב של פעולות
לדוגמא:
עיבוד תוכן לפני תצוגה / שמירה / מחיקה
עבודה עם URLוהפניות
אימות נתונים וכניסת משתמשים מול מערכות חיצוניות
יום ג'ומלה ישראל 2102
15. פלאגאינים וארועים
ארועים הם הדבר הכי מסובך/קשה להבנה
קובעים איפה נוכל להריץ פלאגאין ואיזה מידע יועבר לו
השם של הארוע בד"כ מסביר את המיקום שלו במחזור
הריצה וזה גם יהיה שם הפונקציה שתרוץ בתוך
הפלאגאין לדוגמא:
onBeforeContentSave
onAfterContentSave
onUserAuthenticate
יום ג'ומלה ישראל 2102
16. סוגי ארועים - מערכת
System events
מבוצעים בכל מחזור של ג'ומלה, לא משנה מה אנחנו
מריצים כרגע
דוגמא לשימוש:
onAfterRender
הארוע הזה לדוגמא יריץ פלאגאין שנקרא SEFהתפקיד
שלו לעבור על כל הקוד HTMLשהמערכת מייצרת
ולבדוק שהלינקים בנויים נכון ולשנות במקרה הצורך לפני
הצגה סופית
יום ג'ומלה ישראל 2102
17. סוגי ארועים - אימות משתמשים
Authentication events
אימות משתמשים - --onUserAuthenticateמשמש
לאימות נתוני הכניסה של הגולש מול ג'ומלה או מערכת
חיצונית
דוגמא לשימוש:כל הפלאגאינים שעוסקים בנושא
כניסה לג'ומלה עם חשבון ג'מייל
כניסה לג'ומלה עם חשבון פייסבוק
התחברות לג'ומלה וכמה מערכות במקביל - אם יש לך
מערכת שמורכבת מכמה פלטפורמות
יום ג'ומלה ישראל 2102
18. סוגי ארועים - משתמשים
User events
מבוצעים בכל שאנו יוצרים/עורכים משתמשים בג'ומלה
ובכל פעם שמשתמש מתחבר למערכת (לאחר אימות
נתונים)
דוגמא לשימוש:
onUserAfterSave
הארוע הזה לדוגמא יריץ פלאגאין שישלח מייל בכל פעם
שמשתמש חדש ירשם במערכת או יבצע שינוי ססמה או
אימייל
יום ג'ומלה ישראל 2102
19. סוגי ארועים - תוכן
Content events
"ארועי תוכן" ירוצו עבור תוכן של רכיב בג'ומלה, משימות
כמו הצגה, עריכה, שמירה ומחיקה (קטגוריות, תוכן,
אנשי קשר)
דוגמא לשימוש:
onContentBeforeDelete
משימה - מחיקת קטגוריה
הפלאגאין יכול לבדוק ולהחליט האם למחוק קטגוריה
שאינה ריקה,או מה לעשות עם התוכן שקיים באותה
קטגוריה.
יום ג'ומלה ישראל 2102
20. סוגי ארועים נוספים
WIKIרשימת כל הארועים בג'ומלה
docs.joomla.org/Plugin/Events
Joomla Github - דוגמאות לפלאגאינים
github.com/joomla/joomla-
cms/tree/master/tests/plugins
:ניתן גם להוריד את הכול כקובץ זיפ פה
https://github.com/joomla/joomla-
cms/downloads
2012 יום ג'ומלה ישראל
21. מבנה ההרצאה
מה זה פלאגאין ?
איך פלאגאינים עובדים ? ולמה הם משמשים
- סוגי פלאגאין וארועים
מה כל כך נהדר בפלאגינים ?
איך בונים פלאגאין ? דוגמאות
יום ג'ומלה ישראל 2102
22. מה כל כך נהדר בפלאגינים ?
גמישות !!
-- כיבוי והפעלה מצד מנהל האתר
-- קביעת סדר הריצה - מי ראשון ומי אחרון
-- ניתנים להחלפה או שדרוג בלי לגעת בקבצי המקור
של ג'ומלה
עושים המון עם מעט קוד !
יום ג'ומלה ישראל 2102
23. מה כל כך נהדר בפלאגינים ?
דוגמא: משתמש מוחק קטגוריה עם מאמרים בתוכה -
מה אמור לקרות ?
-- ביטול המחיקה ?
-- מחיקת כל המאמרים?
-- העברת המאמרים לקטגוריה אחרת ?
-- אחר ?
עם פלאגאין - אנו יכולים לקבוע שהתנהלות קבועה
מראש - תתבצע בצורה שונה בקלות.
יום ג'ומלה ישראל 2102
24. מבנה ההרצאה
מה זה פלאגאין ?
איך פלאגאינים עובדים ? ולמה הם משמשים
- סוגי פלאגאין וארועים
מה כל כך נהדר בפלאגינים ?
איך בונים פלאגאין ? דוגמאות
יום ג'ומלה ישראל 2102
25. איך בונים פלאגאין ?
מציאת הארוע המתאים
-- זאת השאלה החשובה ביותר - וגם המבלבלת ביותר
זהירות עם השמות של הפלאגאין
-- ג'ומלה מוצאת את הפלאגאינים המתאימים לריצה לפי
השם שלהם
זהירות עם ההקשר - CONTEXT
בדיקת ההקשר זה אחד הדברים הראשונים שאנו נעשה
בכל פלאגאין
יום ג'ומלה ישראל 2102
26. דוגמא לפלאגאין - תוכן
Content Plugin Example
הוספה של "חתימה" למאמרים חדשים
דוגמא איך קוד קטן בפלאגאין יכול לשנות את התצוגה
-http://dl.dropbox.com/u/104231238/Isarel
joomla-day-2012/example1.zip
יום ג'ומלה ישראל 2102
27. דוגמא לפלאגאין - משתמש
User Plugin Example
הוספה של שני פרמטרים חדשים לטופס הרשמה של
משתמש
ארוע - onContentPrepareForm
יום ג'ומלה ישראל 2102
28. דוגמא לפלאגאין - משתמש
User Plugin Example
הוספה של שני פרמטרים חדשים לטופס הרשמה של
משתמש
ארוע - onContentPrepareForm
יום ג'ומלה ישראל 2102