פרסנולזציה.. (-: ברר...

קיפוש

New member
פרסנולזציה.. (-: ברר...

מה הדרך הכי טובה לתת למשתמשים לשחק עם הצבעים באתר?
 

*gemini*

New member
אתה יכול

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

קיפוש

New member
אני לא עד כדי כך דוגל בחופש..

אני אתן להם לבחור מרשימה השאלה היא.. האם לעשות קובץ סטייל ואבל לעשות הרבה IF ים? או יש לכם פתרון מבריק אחר?
 

זהר פלד

New member
הנה רעיון יותר טוב...

את השינויים ב style תעשה בעזרת javaScript (קובץ חיצוני קטן שתצרף לכל אחד מהדפים שלך), ואת הערכים עצמם תשמור להם על המחשב בעוגיות... אתה יכול לעשות את זה ממש בפשטות... תבדוק בתחילת הסקריפט אם יש עוגיה אצל הלקוח... אם כן, תעשה document.write, תפתח בו בלוק style, ותכניס את הערכים מהעוגיות. אם לא, פשוט תן את ערכי ברירת המחדל שלך. מה דעתך?
 

זהר פלד

New member
אם אתה מתעקש, כן... אבל חבל להעמיס

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

זהר פלד

New member
ועוד דבר... תיבת בחירה זה לא

מי יודע מה... עדיף שתעשה טבלה עם הצבעים עצמם... זה יותר ברור ויותר יפה. (איזה גולש ידע למה אתה מתכון כשאתה אומר משהו כמו ``טקסט סגול מוזהב קלות על רקע כחול שלפני שקיעה עם גוון ורדרד ועננים``... ;-) ) לדוגמא... וחוץ מזה, ככה גם אני עשיתי את זה (בפרוייקט סיכום JS בקורס) וגם הנוטה (באמברוזיה)... אז מה עדיף לדעתך? ;-)
 

*gemini*

New member
למה שלא

תכין טבלה שמכילה את הפרטים האלה לכל משתמש (צבע רקע, צבע טקסט, וכו`), ותתן למשתמש אופציה לעדכן את הטבלה. תכין default, ובמידה והמשתמש רוצה משהו אחר, הוא יכול לשנות (תכין טופס). ככה כשהמשתמש נכנס לאתר ומכניס שם וסיסמה הנתונים לגביו ישלפו ויתבצע refresh שיעלה את הנתונים החדשים. אם אתה לא רוצה שיהיה צורך בשם וסיסמה כדי לקבל את הצבעים, תכניס הכל לקוקיס, ובכניסה לאתר תבדוק אם קיימים קוקיס, ותשנה את הצבעים לפי הקוקיס. אם תעשה לפי האופציה הראשונה, לא תצטרך לעשות if, אלא פשוט אחרי הכנסת שם וסיסמה לשלוף את הנתונים מהטבלה ולבצע רענון.
 
מה IF, למה IF?!

אמברוזיה לא משתמשת ולו ב-IF אחד כדי לנהל את כל הקאסטומיזציה. אמנם ערך אחד בלבד נשמר כעוגייה וזה הבט של הצבעים, או יותר נכון, שם ה-Skin שאתה אמור לראות... מה שקורה זה שישנו קובץ חיצוני שקראתי לו SkinSettings.asp שהוא מכיל, למעשה, Select Case אחד ארוך של כל הערכים שאמורים להבדיל סקין אחד למשנהו. את הערכים האלה אני משבץ בתוך מקומות אסטרטגיים... כמו בתוך הגדרת ה-CSS. לא קשה בכלל.
 

קיפוש

New member
לסיכום

אני מאחסן בעוגיה אצל המשתמש את מספר הסט שבחר ובתחילת כל עמוד אני עושה CASE ושולף את קובץ הסטייל לפי המספר קפיש?
 

זהר פלד

New member
לי יש שאלה אחרת:

למה לא לעשות משהו כזה: document.writeln(``<style type=\``text/css\````); if(document.cookies) { document.writeln(``background-color:`` + bgcolorFromCookie + ``;``); document.writeln(``font-color:`` + fontColorFromCookie + ``;``); // and so on... } else { document.writeln(``background-color:defaltBGColor;``); document.writeln(``font-color:defautFontColor;``); // and so on... } document.writeln(``</style>``); זה גם לא מעמיס על השרת, זה גם לא דורש יותר מתנאי אחד, וזה גם פשוט... לא יותר עדיף?
 

*gemini*

New member
אז ככה

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