Logo

רד-בורד: ארכיון

ראשי > תיכנות > בעיה בPHP

19/06/2007 00:48:57 devil kide
תראו, אני יודע שזה לא מתאים-אבל הפורומים האחרים "מתים", אז פתחתי כאן.

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

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

זה קיים במערכות פורומים מסויימות, שאתה בוחר עצוב וככה האתר נראה עבורך (תראו דוגמאות:
דוגמא 1
דגמא 2
דוגמא 3
)
מישהו יודע איך לכתוב כזה דבר?
תודה מראש[ההודעה נערכה על-ידי devil kide ב-19/06/2007 01:18:08]
19/06/2007 12:34:28 SkOd
עדן דבר איתי באיסי...
19/06/2007 13:03:39 koler
פשוט... תכניס את כל השמות של התמונות למסד וכשמשתמש יבחר עיצוב אחר אז ה"אתר" שלו יבחר עיצוב משדות שונים במסד...
19/06/2007 23:06:40 HLL
זה לא עובד ככה
זה קצת (הרבה) יותר מורכב מזה
זה נקרא Template, במצב הזה, בעצם העיצוב נשמר כקבצי HTML שאח"כ נקראים ע"י ה PHP וה PHP מאכלס אותם בנתונים
זה גם מאפשר ניידות עיצוב
וגם מאפשר הפרדה טוטאלית בין קוד לעיצוב (מעצב ותוכניתן יכולים לעבוד על אותו דבר באותו זמן :) )
בעיקרון יש כאלה מוכנות, לדוגמא אממ שיט שכחתי תשם אבל תריץ php template תקבל את זה...
ב TBF לדוגמא, יש לנו מנוע דומה, רק משלנו.

להבא, תדאג בכל זאת לפרסם בפורום הנכון
תודה.[ההודעה נערכה על-ידי HLL ב-19/06/2007 23:12:37]
19/06/2007 23:51:08 roev
הלל למרות טענתו של הערס ששאר הפורומים מתים אנא העבר זאת לפורום הנכון בכל זאת.
ועדן זה ממש פשוט, תכין כמה קבצי php ותוסיף אותם עם include בהתאם לסקין שהמשתמש רוצה.
אגב המלצה חמה חמה, כשאתה עובד עם זה תשתמש בקובץ css חיצוני זה פשוט יקל לך את החיים.
20/06/2007 00:21:01 devil kide
רועי, הבעיה כאן היא שאני לא יודע מי הולך לכתוב את הטמפלט.
ככה שאני לא יכול לאנקלד אותו
20/06/2007 10:24:19 SkOd
עדן שיפרתי קצת את הקוד:

skin.tpl:
קוד:<title>{SITE_TITLE}</title>

<table>
<tr>
<td>
{SITE_BODY}
</td>
</tr>
<tr>
<td>
{SITE_COPYRIGHT}
</td>
</tr>
</table>

index.php:
קוד:
<?php
$SITE = array();
$SITE[’TITLE’] = "Site title";
$SITE[’BODY’] = nl2br("Text text tetx text \nText text tetx text \n");
$SITE[’SITE_COPYRIHTS’] = "Copyright 2007 bla bla bla...All rights reserved";

$skin = file_get_contents("skin.tpl");
$skin = preg_replace(’/{([a-zA-Z0-9]+)_([a-zA-Z0-9]+)}/e’, "$\\1[’\\2’]", $skin);
echo $skin;
?>


אבל פה יהיה לך מסוכן לתת לסתם אנשים לכתוב את העיצוב.
ככה שאם אתה עדיין רוצה שהמשתמשים יכתבו את העיצוב תמשיך עם ה-str_replace.[ההודעה נערכה על-ידי SkOd ב-20/06/2007 10:29:12]
20/06/2007 22:22:23 koler
מה שסקוד אמר זאת הייתה כוונתי כעיקרון.

והלל כוונתך היא מערכת כזו?:
http://smarty.php.net/[ההודעה נערכה על-ידי koler ב-20/06/2007 22:23:21]
20/06/2007 22:48:27 HLL
כן סמארטי (זה מה שהתכוונתי)
מה שפיתחתי במערכת שלי ושל JonJon (שאולי יום אחד באמת תשוחרר בקוד פתוח ^_^) זו מערכת הכוללת גם תנאים, לולאות ומשתנים הכל באמצעות קובץ הטמפלט וללא PHP.
אני לא מכיר את סמארטי, אבל לא נראה לי יש מערכת טמפלטים שלא מקיימת את הקריטריונים האלה.

ולבקשת הצופים הטופיק בזאת מועבר לפורום בניית אתרים[ההודעה נערכה על-ידי HLL ב-20/06/2007 22:59:27]
20/06/2007 23:01:47 devil kide
הלל, תשחרר כקוד פתוח!
או שאולי תוכל להדריך אותי בצורה טובה איך לעשות כזה דבר?
פשוט כל פעם אני נתקע באיזו שהיא בעיה אחרת
20/06/2007 23:09:12 HLL
זה לא כזה פשוט, זה דורש באמת מאמץ ומחשבה ,אם אתה מעוניין תגיע עכשיו ל IRC בניקס. אני שמה /q HLL
עמודים: 1