הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   |סקר| איך אתם עובדים עם Templates? (https://hosts.co.il/forums/showthread.php?t=61795)

Tom_l 11-04-08 11:33

|סקר| איך אתם עובדים עם Templates?
 
לאחרונה התחלתי להתעניין בהתחלת עבודה עם Templates,
אך איני יודע מה יעיל ונכון, ולכן אני פונה אליכם, ברצוני לשאול איך אתם עובדים עם Templates.

*אשמח אם תוכלו לענות בצורה מפורטת עם דוגמאות בבקשה :)


תודה רבה לכם ושבת שלום.

Gal Shafrir 11-04-08 12:19

str_replace למשתנים כמו: <&#37;header%>

Tom_l 11-04-08 13:06

ציטוט:

נכתב במקור על ידי gal shafrir (פרסם 622773)
str_replace למשתנים כמו: <&#37;header%>

ציטוט:

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

עריכה,
אני ארחיב את כוונתי, אז ככה, אני כעת בונה מערכת שיש לה מספר דפים, עכשיו אני רוצה שבכל דף יהיה CSS כמובן, ותגבי META, ו-Head וכו', ואני חושב שכל הזמן לעשות את אותם הדברים זה דיי לא יעיל, ומכאן חשבתי להשתמש ב-Templates, אבל איני יודע כיצד, ולכן אני מעדיף לשמוע קצת איך אתם משתמשים ב-Templates.

אבל שוב, אשמח להודעות מפורטות בבקשה.
תודה רבה.

חיים 11-04-08 13:26

יוצרים את הטמפלט בעזרת מחלקה ואז עושים עם PREG_REPLACE עושים ביטויי רגולרים שמוצא דברים בטקסט ומחליף בתוכן למשל מוצא את <!block!> ומחליף בתוכן של הבלוק או משהו כזה

mayden 11-04-08 13:38

מערכת הטמפלטים של Smarty. מומלץ. (אבל צריך קודם כל ללמוד אותה.. ולדעת איך להשתמש בה טוב. אחרי שתבין - יהיה לך מאוד קל בהמשך).

Tom_l 11-04-08 13:51

ציטוט:

נכתב במקור על ידי mayden (פרסם 622796)
מערכת הטמפלטים של Smarty. מומלץ. (אבל צריך קודם כל ללמוד אותה.. ולדעת איך להשתמש בה טוב. אחרי שתבין - יהיה לך מאוד קל בהמשך).

כן אני מכיר את המערכת הזו, אבל אני מעדיף לבנות משהו בעצמי וכו'.

חיים,
אשמח אם תוכל 5 דק' להקדיש עבורי ולכתוב דוגמא, שאני אוכל להבין בבקשה.


תודה רבה.

RS324 11-04-08 15:54

אני לא ממליץ על PREG_REPLACE ודומיו , שיטה לא יעילה שגוזלת הרבה משאבים ביחס לפעולה
EVAL יהיה הרבה יותר יעיל ונוח לעבודה.

Tom_l 11-04-08 17:08

ציטוט:

נכתב במקור על ידי RS324 (פרסם 622870)
אני לא ממליץ על PREG_REPLACE ודומיו , שיטה לא יעילה שגוזלת הרבה משאבים ביחס לפעולה
EVAL יהיה הרבה יותר יעיל ונוח לעבודה.

את האמת לתגובה שלך חיכיתי :)
אבל ציפיתי למשהו קצת יותר מפורט...
כי עדיין זו פעם ראשונה, ואני לא ממש יודע למה אתה מתכוון כשאתה אומר Eval, לכן אשמח אם תוכל להקדיש עבורי 5-10 דק', ולרשום דוגמא משהו מסודר, שאני אוכל להבין :)


תודה רבה.

DanielS 11-04-08 17:38

ציטוט:

נכתב במקור על ידי HeroMan (פרסם 622913)
את האמת לתגובה שלך חיכיתי :)
אבל ציפיתי למשהו קצת יותר מפורט...
כי עדיין זו פעם ראשונה, ואני לא ממש יודע למה אתה מתכוון כשאתה אומר Eval, לכן אשמח אם תוכל להקדיש עבורי 5-10 דק', ולרשום דוגמא משהו מסודר, שאני אוכל להבין :)


תודה רבה.

PHP קוד:

<?php

$title 
"title_block";
$content "content_block";
$template "$title <br /> $content";
eval(
"\$block_1 = \"\$template\";");

echo 
$block_1;
?>

משהו כזה. ואחי PHP.NET יסביר לך מה זה EVAL

RS324 11-04-08 18:00

ציטוט:

נכתב במקור על ידי HeroMan (פרסם 622913)
את האמת לתגובה שלך חיכיתי :)
אבל ציפיתי למשהו קצת יותר מפורט...
כי עדיין זו פעם ראשונה, ואני לא ממש יודע למה אתה מתכוון כשאתה אומר Eval, לכן אשמח אם תוכל להקדיש עבורי 5-10 דק', ולרשום דוגמא משהו מסודר, שאני אוכל להבין :)


תודה רבה.

אוקי אני אסביר לך את העיקרון ואחרי זה נקפוץ לוויכוח של preg_replace/str_replace /eval

בוא נצא מתוך נקודת הנחה שכל הקבצים (אפשרי גם מסדר אבל יותר פשוט להתחלה לעבוד עם קבצים) של העיצוב נמצאים בתוך תיקייה מסויימת (לדוגמא STYLE)

עכשיו נבנה פונקציה (זה רק הבסיס אפשרי לשפר אותה ולהוסיף המון תתי מערכות לבפנים)

PHP קוד:

function getTemplate($name='')
{
    if (empty(
$name))
    {
        return 
false;
    }
    
    
$Styledir '/style/';
    
    
    if (
file_exists($Styledir.$name.'.tpl'))
    {
        return 
file_get_contents($Styledir.$name.'.tpl');
    }
    else 
    {
        die(
'i am sorry but i cant find'.$name.'.tpl in style directory');
    }
    


עכשיו בתוך התיקייה של ה style ניצור קובץ שנקרא לו index.tpl
אתה יכול לבחור כל סיומת שתרצה
לא עקרוני....

ואז אתה משתמש בזה בסגנון הזה :

PHP קוד:


// some db and other functions herer


//יכניס את כל התוכן של הטמפלטס לתוך משתנה
$varX getTemplate('varx_demo');

// ידפיס את העמוד של ה INDEX
print getTemplate('index'); 

עכשיו תשב על זה ותפתח את זה...


כל הזמנים הם GMT +2. הזמן כעת הוא 10:30.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ