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

לקישורים
לקישורים בתפריטים של דרופל יש ID שמזהה אותם ומאפשר לך להתייחס לכל אחד בנפרד, בעזרת CSS. כמו כן, הקישור שמוביל לדף הנוכחי, מקבל את ההגדרה: class="active"
הסתרה של שורה עשוייה כבר להיות מעט יותר מסובכת, אבל בגדול - אם משתמש לא רשאי לצפות בדף מסויים, הוא גם לא אמור לראות את הקישור אליו מהתפריט.
חוץ מזה יש כל מיני התאמות ספציפיות שניתן לעשות בעזרת PHP, אבל זה כבר סיפור אחר לגמרי.
<
p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
<
p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
אז נתרכז בהדגשה
הסתכלתי על השורה הבאה:
div id="block-menu-2" class="block block-menu"
לפי מה שאני מבינה ID מזהה את התפריט כולו ולא קישור ספציפי - אני טועה?
ועכשיו שאלת CSS (מותר בפורום הזה?)
ראיתי שלפני כל הגדרה של הקישור מופיעה השורה הבאה:
li class="leaf"
נראה לי שזה המפתח להגדרה של קישור ספציפי, אלא שלא מצאתי LEAF בקובץ CSS - אם כן, למה השורה הזו מתייחסת?
אני בכלל בכיוון?
תודה
ליאת
ליאת שדה-סעדון
לומבי - אינטרנט בגובה העיניים | www.lomby.co.il
ע"י שימוש ב-phptemplate
leaf מגדיר אם יש לאייטם הזה תת-תפריט. כלומר, את יכולה לפנות אליו בקובץ CSS, אבל הוא לא ישנה אייטם ספציפי. דרך אחת היא לגשת דרך template.php, כמו שניק לואיס הראה.
מוסיפים את סניפט הקוד הראשון לקובץ template.php בתבנית שלך, ויוצרים קובץ חדש (menu_item ). את השינויים ב-css את יכולה לעשות בעצמך. מה יפה בשיטה הזו שה-id נוצר לפי השם של הקישור הספציפי.
אורן זוסמן
תודה רבה
אני עוד לא בטוחה שהבנתי הכל, אבל אני מקווה שאני בדרך לשם.
ליאת שדה-סעדון
לומבי - אינטרנט בגובה העיניים | www.lomby.co.il
ההסבר שלו בבלוג
ההסבר שלו בבלוג לא קל להבנה, צריך לזכור שבגדול צריך לזהות את ההוק שמיועד לphptemplate (הכי נגיש אלו פונקציות _theme, למרות שאפשר לעשות מניפולציה להכל), ועל ידי שימוש בפונקציית callbackלהפנות לקובץ tpl שניצור שיבצע את העבודה, (וכדאי לא לשכוח לכלול ה-output הרגיל).
אבל תכל'ס אני חושב את רוב הבעיות העיצוביות אפשר לפתור על ידי CSS פשוט, ואם לא- אז על ידי שימוש בסניפטים שנתרמו, ויש מספיק כאלה. רוב הסיכוי שמישהו ענה על הצרכים האלה מתישהו.
אורן זוסמן
ID מזהה כל אלמנט
ID מזהה כל אלמנט בדף באופן ייחודי (אסור שיהיו שני אלמנטים בעלי שם זהה). במקרה שלך ה-ID אכן מזהה את התפריט כולו.
על מנת להוסיף לכל הקישורים בתפריטים שלך ID, הוסיפי את השורות הבאות לקובץ phptemplate.php ב-theme שעימו את עובדת. אם הקובץ לא קיים, עלייך ליצור אותו להעלותו לשרת.
<?phpfunction phptemplate_menu_item($mid, $children = '', $leaf = TRUE) {
return '<li id="item-'.$mid.'" class="'. ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. menu_item_link($mid) . $children ."</li>\n";
}
?>
זה יצור לך קישורים עם ID שתוכלי להתייחס אליהם ב-CSS.
<
p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
<
p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות