[מדריך] יצירת עמוד חדש בפורום, הגדרת משתנים ושימוש בהם.

מדריכים שונים ומגוונים לגרסה phpBB2. שימו לב - פורום זה הינו פורום ארכיון. התמיכה במערכת phpBB2 הופסקה.
BBman
חבר צוות phpBB ישראל לשעבר
חבר צוות phpBB ישראל לשעבר
הודעות: 1595
הצטרף: 13/02/2005 ב-13:50:52

[מדריך] יצירת עמוד חדש בפורום, הגדרת משתנים ושימוש בהם.

הודעה שלא נקראהעל ידי BBman » 08/04/2007 ב-02:42:16

מדריך זה מיועד למי שליבו חפץ לתכנת מודים חדשים הדורשים עמודים נוספים לפורום.ץ

ידע דרוש : כמה שיותר php מקל על העוול.

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

קוד: בחר הכל

<?php
?>



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

קוד: בחר הכל

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_PROFILE);
init_userprefs($userdata);
//
// End session management
//


יפה, עכשיו נגדיר את העמוד לפי צרכינו על ידי הוספת הקוד:

קוד: בחר הכל

      $template->set_filenames(array(
         'body' => 'page.tpl')
      );
      $page_title ="העמוד החדש שלי";


היכן שכתוב "page.tpl" זהו קובץ ה-tpl אותו אתם תתבקשו ליצור בקרוב, אתם כמובן יכולים לקבוע לו כל שם אחר בתנאי שהוא יהיה מסוג TPL, והיכן שכתוב "העמוד החדש שלי" זהו כותרת העמוד, ממש כמו פקודת ה-<title> של ה-HTML, אתם יכולים גם לקבוע אותה כרצונכם.

ולבסוף, צריך פקודות שיכללו גם את מאפייני phpBB, ה-HEADER, ה-FOOTER, וכל החברים:

קוד: בחר הכל

      include($phpbb_root_path . 'includes/page_header.'.$phpEx);
      $template->pparse('body');
      include($phpbb_root_path . 'includes/page_tail.'.$phpEx);


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

סיימנו עם php לעת עתה, נחזור אל החבוב מאוחר יותר.

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



קוד: בחר הכל

<table border="0" cellspacing="0" cellpadding="0" align="center" width="100%">
  <tr>
   <td valign="top" align="center" width="100%">
      <font class="maintitle">{TITLE}</font>
   </td>
  </tr>
   <tr>
     <td align="{S_CONTENT_DIR_LEFT}"><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
   </td>
   </tr>
</table>


נשמור את העמוד כפורמט TPL, ונעלה אותו לתיקיית העיצוב.
כעת נוכל לגשת אל העמוד על ידי כניסה לפורום והכנסת הכתובת של הדף PHP שיצרנו, בהנחה שהעלינו את הדף לתיקייה הראשית, וקראנו לו page.php, כתובתו תהיה:

http://yourforumadress.domain//phpBBHeb/page.php

yourforumadress.domain זוהי כתובת הפורום.
נכנס והתוצאה צפויה להיראות כך:

תמונה

הוספת תוכן, הגדרת משתנים

ב-phpBB ניתן להגדיר משתנים בקלות רבה, כך שנוכל להשתמש בהם בכל מקום שנרצה בעמוד ה-TPL שלנו.

זוכרים את עמוד ה-php שיצרנו? כעת כנסו אליו, והוסיפו בין :

קוד: בחר הכל

      $template->set_filenames(array(
         'body' => 'page.tpl')
      );
      $page_title ="העמוד החדש שלי";


לזה:


קוד: בחר הכל

      include($phpbb_root_path . 'includes/page_header.'.$phpEx);
      $template->pparse('body');
      include($phpbb_root_path . 'includes/page_tail.'.$phpEx);


את הקוד:

קוד: בחר הכל

   $template->assign_vars(array(

                            )
                       );


זוהי תבנית להגדרת משתנים, בתוכה נגדיר משתנים בצורה:

קוד: בחר הכל

'NAME_OF_VAR' => 'content',


או אם רוצים להשתמש בתוכן שנמצא בקובץ שפה:

קוד: בחר הכל

'NAME_OF_VAR' =>$lang['something'],


לדוגמא ארצה שני משתנים, האחד מכיל את המילה "שלום" והאחד "לך", לכן אכתוב:

קוד: בחר הכל

   $template->assign_vars(array(
       'HELLO' => "שלום",
       'TOYOU' => "לך",
                            )
                       );


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

שימוש במשתנה בעמוד ה-TPL נעשה בצורה הזו:

קוד: בחר הכל

{NAME_OF_VAR}


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

קוד: בחר הכל

{HELLO} {TOYOU}


אנו צפויים לקבל :

תמונה

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

קוד: בחר הכל

<table border="0" cellpadding="3" cellspacing="1" width="100%" class="forumline">


הוא קוד שיוצר טבלא עם התכונות אשר חקוקות בעיצוב תחת השם forumline.

בהצלחה! חג שמח!

***שכחתי משהו? טעיתי? נא לדווח! ***
מור.
"Give a man a fish, and you feed him for a day. Teach a man to fish, and you feed him for a lifetime"

ffgg
משתמש חדש
משתמש חדש
הודעות: 19
הצטרף: 07/04/2007 ב-15:42:44

הודעה שלא נקראהעל ידי ffgg » 08/04/2007 ב-03:38:25

מדריך נחמד, יפה על ההשקעה

סמל אישי של המשתמש
daredevil
משתמש עם עתיד
משתמש עם עתיד
הודעות: 705
הצטרף: 31/10/2006 ב-09:19:17
מיקום: לוד ~ respect ~
יצירת קשר:

הודעה שלא נקראהעל ידי daredevil » 08/04/2007 ב-10:27:25

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

BBman
חבר צוות phpBB ישראל לשעבר
חבר צוות phpBB ישראל לשעבר
הודעות: 1595
הצטרף: 13/02/2005 ב-13:50:52

הודעה שלא נקראהעל ידי BBman » 08/04/2007 ב-14:48:23

תודה :)
אני חושב שאני פשוט אעשה עוד מדריך אחד שמסביר על תכונות המערכת כגון רמות משתמש וכו'...

חג שמח!
מור.
"Give a man a fish, and you feed him for a day. Teach a man to fish, and you feed him for a lifetime"

ozsason
משתמש מתקדם
משתמש מתקדם
הודעות: 1232
הצטרף: 02/10/2005 ב-15:05:36
מיקום: הרצליה
יצירת קשר:

הודעה שלא נקראהעל ידי ozsason » 08/04/2007 ב-15:50:40

תודה,
אחלה מדריך...

Guy Shemesh
משתמש חדש
משתמש חדש
הודעות: 13
הצטרף: 23/03/2007 ב-13:29:16

הודעה שלא נקראהעל ידי Guy Shemesh » 08/04/2007 ב-16:01:57

נחמד
תוכנת השיתוף הטובה ביותר:
http://www.DC-Unit.com


חזור אל “מדריכים - ארכיון”

מי מחובר

משתמשים הגולשים בפורום זה: אין משתמשים רשומים ו־ 24 אורחים

cron