אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » פיתוח אינטרנט » פתרונות ומאמרים על פיתוח אינטרנט » מדיה ויקי

מדיה ויקי

רן בר-זיק אפריל 19, 2014 5:04 pm 2 תגובות

סנוב, את מדיה ויקי ניסית? נגיעה על קצה המזלג במערכת התוכן הפופלרית

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

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

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

תהליך ההתקנה של ויקיפדיה וה-Theming שלה קצת יותר מסובך מוורדפרס – אבל יחסית הוא פשוט. ראשית עלינו להוריד את מדיה ויקי (בעברית או בשפות אחרות). אחרי שסיימנו להוריד, אנחנו צריכים להעלות את הקבצים לשרת LAMP כמו וורדפרס, דרופל או ג'ומלה. אם יש לכם שרת פיתוח מקומי, אין דבר קל מזה. אם אין לכם, תצטרכו להעביר את זה ב-FTP.

מבנה תיקיה של קבצי מדיה ויקי
מבנה תיקיה של קבצי מדיה ויקי

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


$wgRawHtml = true;

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


$wgLogo             = "$wgServer/logo.jpg";

רוב האנשים לא רוצים להסתפק בתבנית המוכרת של מדיה ויקי ורוצים לעשות תבנית משלהם. כמובן ששום דבר לא מונע מכם לשנות את התבנית הדיפולטיבית vector כרצונכם. אבל על מנת ששדרוגים עתידיים שתעשו לא יהפכו לכאב ראש רציני, אני ממליץ לכם ליצור תבנית משלכם. התבניות במדיה ויקי הן פשוטות למדי. כולן נמצאות תחת תיקית skins אם תכנסו לספריה תוכלו לראות תיקיות שבה נמצאים המשאבים השונים של התבנית (קבצי CSS, JS ותמונות) וקובץ PHP שבו נמצא עיקר הקוד.

הקוד הוא מונחה עצמים, אז ככה שאם אתם רגילים לברדק של וורדפרס/דרופל צפויה לכם הפתעה. לאנשי ג'ומלה זה יהיה כמובן הרבה יותר מוכר. קובץ ה-PHP של התבנית שלכם מורכב בעצם משני PHP class. ראשית אנו צריכים לכלול את קובץ האב של ה-class של התבניות:


require_once('includes/SkinTemplate.php');

ה-class הראשון הוא המקום שבו אנו מגדירים את התבנית שלנו, הוא יורש מ-class ששמו הוא SkinTemplate. הנה דוגמה להגדרה של אתר שבניתי לא מזמן עבור עמותת טולקין בישראל:


class SkinTolkiencoil extends SkinTemplate {
	function initPage( &$out ) {
		SkinTemplate::initPage( $out );
		$this->skinname  = 'tolkiencoil';
		$this->stylename = 'tolkiencoil';
		$this->template  = 'TolkiencoilTemplate';
	}
}

בגדול אנו מגדירים כאן שלושה משתנים – שם הסקין כפי שאני אגדיר אותו ב-LocalSettings, שם התיקיה שבה יש את כל הקבצים ושם ה-class שמכיל את הטמפלייט והוא ה-class השני שנמצא בקובץ:


class TolkiencoilTemplate extends QuickTemplate {
	function execute() {}
}

בתוך ה- execute אני יכול להכניס את ה-HTML של התבנית, עם משתני ה-PHP במיטב המסורת האיטלקית כמובן.

כל מה שנותר לנו לעשות זה להגדיר את התבנית שלנו ב-LocalSetting.php באופן הבא:


$wgDefaultSkin = "tolkiencoil";

שימו לב שאם מדובר בויקימדיה קיים וחלק מהמשתמשים בו פעילים – יש מצב שהסקין הדיפולטיבי שלהם מוגדר ותצטרכו לשנות אותו – איך משנים אותו? או ישירות דרך מסד הנתונים או באמצעות הפעלת קובץ PHP מהטרמינל באופן הבא


$ php userOptions.php skin --old "monobook" --new "vector"

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

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
media wiki PHP

2 תגובות

  1. מגזין יהלום הגב יולי 19, 2020 בשעה 11:33 pm

    אני מוכן לשלם לכם כסף בשביל שתיצרו לי אתר ויקי.

  2. אתר אקלימוס הגב מרץ 15, 2021 בשעה 7:35 pm

    יפה

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

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

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד