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

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] בניית תפריט דינאמי לכל דף באתר (https://hosts.co.il/forums/showthread.php?t=49180)

-roee- 07-07-07 11:10

[PHP] בניית תפריט דינאמי לכל דף באתר
 
אני כרגע עובד על סקריפט אשר בעצם מוסיף שורה מתחת ללוגו של הדף הנוכחי באתר
לדוגמא: (כמובן שיש בזה לינקים)
קוד:

בית -> משחקים -> קטגורית אקשן
אני רוצה אבל לשדרג את זה ולבנות את זה על פי 2 פונקציות:
- פונקציה אשר לתוכה מכניסים את המידע שיש בתפריט
- פונקציה אשר מציגה את התפריט

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

make_nav("<li><a href=\"index.php?act=games\">משחקים</a></li>
<li><a href=\"index.php?act=games&amp;op=view_cat&amp;id=24\">קטגורית אקשן</a></li>"
); 

כאשר:
PHP קוד:

function make_nav($words)
{
$nav "
<li><a href=\"index.php\">דף הבית</a></li>
{$words}
"
;


עכשיו בחלק הזה נתקעתי..

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

PHP קוד:

function make_nav($words)
{
$nav "
<li><a href=\"index.php\">דף הבית</a></li>
{$words}
"
;
shownav($nav);


ובפונקציה shownav אני עושה:
PHP קוד:

function shownav($a)
{
echo 
$a;


אז זה יוצא שכדי להציג את התפריט אני צריך לקרוא לפונקציה shownav, כלומר לרשום shownav(); מתחת ללוגו אבל בעצם אין לי שום ערך לתת לפונקציה (היא צריכה לקבל את המשתנה a - כלומר את תוכן התפריט)

אני יודע שאולי לא הסברתי את עצמי טוב אבל אני מקווה שהבנתם את הבעיה.

תודה

mlnn 07-07-07 12:22

PHP קוד:


function make_nav($words

$nav 
<li><a href=\"index.php\">דף הבית</a></li> 
{$words} 
"

return 
$nav;


echo 
make_nav('wordsssssssss'); 


-roee- 07-07-07 16:32

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

Eran-s 07-07-07 16:35

אם הבנתי נכון אתה יכול פשוט להכניס את $words לפונקציה הראשונה ולשים אותו עם & לפני ותערוך את התוכן שלו ככה ואז המשתנה המקורי ששלחת יכיל את התוכן של התפריט.

-roee- 07-07-07 17:10

ציטוט:

נכתב במקור על ידי Eran-s (פרסם 516136)
אם הבנתי נכון אתה יכול פשוט להכניס את $words לפונקציה הראשונה ולשים אותו עם & לפני ותערוך את התוכן שלו ככה ואז המשתנה המקורי ששלחת יכיל את התוכן של התפריט.

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

4ior 07-07-07 17:12

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

עריכה...אז איפה אתה שומר את המידע?

Eran-s 07-07-07 17:18

תשמע, תעשה דבר כזה.
תיקח משתנה תכניס בו את מה שיכנס ל-make_nav למשל:
PHP קוד:

$nav "<li><a href=\"index.php?act=games\">משחקים</a></li>
<li><a href=\"index.php?act=games&amp;op=view_cat&amp;id=24\">קטגורית אקשן</a></li>"
;

make_nav($nav); 

ואז הפונקציה החדשה תהיה:
PHP קוד:

function make_nav(&$words)
{
$words "
<li><a href=\"index.php\">דף הבית</a></li>
{$words}
"
;


ואז בפונקציה שמציגה תעשה
PHP קוד:

shownav($nav); 


-roee- 07-07-07 22:09

לא הבנתי איך אני אמור לעשות את הפונקציה shownav
היא מקבלת את המשתנה nav מאיפה?
וכל מה שהיא צריכה לעשות זה להדפיס אותו?

4ior 07-07-07 22:29

מאיפה אתה מקבל את הנתונים?X|

Eran-s 07-07-07 22:52

ציטוט:

נכתב במקור על ידי bigsmoke (פרסם 516392)
לא הבנתי איך אני אמור לעשות את הפונקציה shownav
היא מקבלת את המשתנה nav מאיפה?
וכל מה שהיא צריכה לעשות זה להדפיס אותו?

$nav הוגדר בקובץ אחר שמאונקלד מעל... תשים לב את תחילת הפוסט שלי.


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

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