שיחת משתמש:DMY/ארגז חול 22

תוכן הדף אינו נתמך בשפות אחרות.
מתוך ויקיפדיה, האנציקלופדיה החופשית

תת-דיון על פתרונות טכנולוגיים אחרים[עריכת קוד מקור]

הועתק מ-שיחת קטגוריה:לוחות שנה/בוררות - תוכן לוחות שנה בערכי שנים לועזיות
זו אכן פשרה טובה, ותודה להראל שעזר לנו להגיע אליה. בכל אופן, גם אני לא מתלהב מהפתרון הטכנולוגי. ראיתי בוויקיפדיות אחרות שיש אפשרות ליצור לשוניות שמאפשרות לדפדף בין תכנים בלי לעבור דף, אולי זה יכול לעזור. אם זה בלתי אפשרי אני בעד השיטה של ערן. דניאל ב. 21:34, 7 ביולי 2007 (IDT)[תגובה]

דניאל שלום! איפה ראית לשוניות ? דף משתמש שיחה 10:18, 8 ביולי 2007 (IDT)[תגובה]
בעמוד הראשי של ויקיפדיה הקטלאנית. דניאל ב. 23:19, 8 ביולי 2007 (IDT)[תגובה]
למדתי כיצד הלשוניות הקטלאניות עובדות, ואף ניסיתי לייבא את זה לעברית (תבנית:חוצצים - עדיין בעבודה). טרם נפתרו בעיות טכניות, שרובן נובעות מכיוון שמאל-ימין (Yonidebest סייע רבות, אך גם הוא לא הצליח לפצח את הנושא).
אבל גם אם נפתור את הבעיות הטכניות, עדיין הבעייה המרכזית נותרה בעינה: מגבלות ויקימדיה לתבניות. כיום, לאחר טריקים רבים, בערך 2012, ה-Pre-expand include size הינו 1,578,250 bytes כאשר המקסימום המותר הוא 2,048,000 bytes. שיטת הלשוניות הקטלאניות משמעותה הכפלת 1,578,250 פי 3 - וזה כמובן הרבה מעל המקסימום.
אם כל הצער והכאב - אין כרגע פתרון טוב יותר, מאשר 3 דפים משניים - <1>, <2>, <3> (זה לא באמת דפים משניים כי אין SUBPAGE במרחב הראשי). דף משתמש שיחה 14:11, 10 ביולי 2007 (IDT)[תגובה]
אפשר להשתמש בJS שידע להסתיר חלקים מסוימים. אפשר ליצור קוד כזה בערך:
function arrrg(){
document.getElementById('buttonForHebrewDates').onclick=blabla;
}

function blabla(){
alert('aaa');
document.getElementById('buttonForHebrewDates').innerHTML=document.getElementById('buttonForHebrewDates').innerHTML== "הצג" ? "הסתר" : "הצג";
hebDates=document.getElementsByTagName('span');
 for(i=0;i<hebDates.length;i++){
  if(hebDates[i].className=="HebDates"){
   hebDates[i].style.display = hebDates[i].style.display == "none" ? "" : "none";
   }
 }
}

addLoadEvent(arrrg);
הגדיר את כל החלקים שאנחנו מעוניינים להסתיר/להציג עם class="HebDates" ולהוסיף בצד איזה כפתור עם id="buttonForHebrewDates" שיאפשר הצגה/הסתרה של החלקים. ערן 15:20, 10 ביולי 2007 (IDT)[תגובה]
ערן, תודה רבה, אבל הסתרה לא תעזור - כי גם אז צריך להכפיל ה-Pre-expand include size פי 3 ושוב נעבור את המקסימום המותר (ראה הסבר ב-מגבלות ויקימדיה לתבניות).
אם זה חשוב להישאר באותו דף (לדעתי זה לא ממש עקרוני, והמשתמש בדוגמה של 2012 אפילו לא ישים לב), מה שאני צריך זה, שכאשר המשתמש ילחץ על כפתור וכד', הוא ימשיך להישאר באותו דף, אבל ערך של פרמטר/מישתנה באותו דף יהפוך למספר אחר, וזה ישפיע על תוכן הדף המוצג דף משתמש שיחה 16:40, 10 ביולי 2007 (IDT)[תגובה]
לא צריך שלושה לוחות שנה. צריך לוח שנה לועזי+עברי משולב, שהחלקים העבריים בו לא יוסתרו/יוצגו ובלחיצה על הצגה/הסתרה יוצגו/יוסתרו החלקים העבריים בלבד. 17:16, 10 ביולי 2007 (IDT)

ערן שלום ! העתקתי את הסקריפט שלך לתחילת תבנית:כותרת ניסיונית ללוח שנה לועזי-עברי - זו התבנית הראשונה הרלוונטית לעינייננו, אשר נקראת ע"י דף זה. עכשיו מה שצריך זה:

  1. להוסיף אלמנט ללחיצה.
  2. לקשר בין אלמנט זה לבין התוצאה הסופית שתראה למשתמש, כאשר לפי החלטה של הראל יהיו 3 אופציות: <1>, <2>, <3>. דף משתמש שיחה 18:05, 10 ביולי 2007 (IDT)[תגובה]
כיוון שיש אינספור תבניות שקוראות אחת לאחרת קשה ואין תיעוד טוב קשה להבין איזו תבנית אחראית בסופו של דבר להציג את הטקסט? צריך להוסיף לתבנית הזו <span class="HebDates">א'/ב'</span> כשבמקום א'/ב' יופיע הפרמטר לחודש/יום עברי. ערן 20:25, 10 ביולי 2007 (IDT)[תגובה]

להלן הסבר על מבנה דפי 2012:

  1. הערך 2012 משתמש ב-תבנית:כותרת מיוחדת ללוח שנה לועזי-עברי עם 2 פרמטרים:
    • פרמטר א' = שנה = 2012.
    • פרמטר ב' = מצב = 1 ללא מועדים עבריים / 2 עיקריים / 3 כולם. (ברירת מחדל 2 לפי החלטה של הראל).
  2. ב-תבנית:כותרת מיוחדת ללוח שנה לועזי-עברי ישנם 3 לינקים:
  3. בכל אחד משלושת מהדפים המקושרים בלינקים אלה- ישנה שורה אחת קצרה ופשוטה:
{{:2012|X}}
כאשר X = מצב (1 ללא מועדים עבריים / 2 עיקריים / 3 כולם).

להלן דינמיקה של מעבר בין הדפים

  1. משתמש נכנס ל-2012 ורואה את לוח השנה מוסתר (בשלב זה אחסוך ממך הסברים כיצד אני מתמרן בין מוסתר/גלוי). אם הוא פותח את ההסתרה הוא רואה את לוח השנה עם ברירת המחדל 2 (מועדים עיקריים - לפי החלטה של הראל).
  2. אם הוא נניח לוחץ על "מלאים" עבור מועדים מלאים, הוא עובר ל-2012/לוח שנה עם מועדים עבריים מלאים, ודף זה מפעיל שורה אחת פשוטה {{:2012|3}} אשר מציגה את 2012 במצב 3 (מועדים מלאים) - אך הפעם הדף נפתח עם לוח שנה גלוי, מתוך הנחה שהמשתמש כן מעוניין בלוח השנה.
  3. באופן דומה אם המשתמש לוחץ על "ללא" או על "עיקריים" הוא עובר לדף המתאים ורואה את סוג לוח השנה אשר בחר.

אם אנו מעוניינים להמנע משלושת הדפים הנילווים הנ"ל (אשר מכילים שורה אחת פשוטה) נדרש פתרון שיתבסס על סקריפטים בדומה למה שהכנת, כאשר:

  • המשתמש יפעיל את אחד משלושת המצבים (ע"י כפתורים? לינקים?)
  • המשתמש יישאר באותו דף, אבל הדף יציג לו את לוח השנה שבחר.

כאמור, לא נוכל להעמיס על דף אחד 3 לוחות שנה, כי נעבור את מגבלות ויקימדיה לתבניות - ואז תיגרם תקלה חמורה בדף. דף משתמש שיחה 21:21, 10 ביולי 2007 (IDT)[תגובה]

נ.ב. את הסקריפט הראשוני שלך העתקתי לתחילת תבנית:כותרת ניסיונית ללוח שנה לועזי-עברי. תבנית זהה לתבנית שבשימוש 2012, אבל היא פתוחה לניסויים (רק משתמש:DMY/ארגז חול 22 משתמש בתבנית זו). דף משתמש שיחה 21:28, 10 ביולי 2007 (IDT)[תגובה]
תוכל להוסיף שמות class לתאים שצריכים להשתנות בגרסאות השונות? למשל לכל יום טוב/שבתון בלוח העברי, תוסיף לתא (td) מאפיין class="YomTov". אין בעיה להגיד לסקריפט לצבוע את התאים האלו בהתאם לבקשת המשתמש. אם אתה רוצה גם אפשרות שלישית של חגים עיקריים אז תעשה גם הבחנה בין יום טוב שנחשב בין העיקריים לבין יום טוב שלא נחשב בין החגים העיקריים כשאתה נותן שמות לclass (למשל YomTovImp ליום טוב בחגים עיקריים וYomTov ליום טוב שלא בין החגים העיקריים). בנוסף תתן בכל אזכור של חג מאפיין id ייחודי. אחרי זה תכתוב פה את שמות הclass והid שנתת לכל אחד מהם, ואז אסדר את הסקריפט כך שיוכל להתאים את לוח השנה עם שלושה כפתורים (או אפילו radio buttons). ערן 23:41, 10 ביולי 2007 (IDT)[תגובה]
לא כל כך הבנתי מה לעשות.
כל תא משתמש בין היתר בפרמטר עבור המצב (1=ללא מועדים עבריים / 2=עיקריים / 3=כולם) - הסבר להלן.
ניקח לדוגמה את תבנית:DGH01 שהיא תבנית המיועדת לימים א' בחודש העברי (הסיבה שיש תבנית נפרדת לכל יום עברי בחודש - היא אחד מהטריקים הרבים שנועדו לעקוף את מגבלות ויקימדיה לתבניות, אם תרצה אסביר לך בהזדמנות את העניין).
פרמטר {{{5}}} הוא עבור המצב, ומשתמשים בו פעמיים באותה תבנית:
  1. בפעם הראשונה - לשם קביעת צבעו של התא.
  2. בפעם השנייה - כדי לקבוע האם יהיה בכלל Tooltip ליום העברי, ואם כן - מה יהיה תוכנו.
עכשיו איפה ואיך בדיוק לרשום class=... ?
דף משתמש שיחה 16:09, 11 ביולי 2007 (IDT)[תגובה]

JS לטובת לוחות שנה[עריכת קוד מקור]

הועתק מ-שיחת משתמש:ערן
ערן שלום ! בהמשך ל-שיחת משתמש:DMY/ארגז חול 22, לא כך הבנתי מה לעשות, כי אתה מדבר על ID ברמת התא כולו (TD) ואני מדבר על פרמטר מסויים (5) ששולט על אלמנטים מסויימים בתוכן התא. מה הטכניקה שבאמצעותה ה-JS יכול לשלוט על ערכו של פרמטר זה (או על תחליף לפרמטר זה) ? איך נוכל להתקדם יותר מהר בנושא ? דף משתמש שיחה 00:28, 14 ביולי 2007 (IDT)[תגובה]

וספתי classים לחלק מהתאים, ועכשיו צריך להוסיף id לspan בכל אחד מתבניות הטולטיפ. התחלתי לעשות את זה, ראה במשתמש:ערן/מבחנה 1#לוח שנה - יש שם רשימה של דברים שכבר שיניתי, ובאופן דומה צריך להעניק id ייחודי לכל תבנית טולטיפ. בהמשך אעדכן את הסקריפט כך שיסתיר ויציג חלקים בהתאם לבחירת המשתמש. הסקריפט יעבוד על לוח השנה עם התאריכים העבריים המלאים, וכברירת מחדל יסתיר את המועדים שהם לא "עיקריים". הגדרת הclass והid תאפשר לסקריפט לזהות את החלקים השונים. ערן 00:34, 14 ביולי 2007 (IDT)[תגובה]
ערן, תודה רבה על עזרתך הרבה !
לפני שאנחנו נסחפים לעבודה אינסופית על כל החגים, בוא נעשה פיילוט על שלושה-ארבעה חגים ונבין איך זה עובד.
העתקתי את הקוד שלך ל-משתמש:DMY/monobook.js והוספתי בהתחלה <syntaxhighlight lang="javascript"> ובסוף </syntaxhighlight> (נכון?)
עכשיו איזה קוד צריך להיות ב-משתמש:DMY/ארגז חול 22 או בתבניות שדף זה קורא להן ?
דף משתמש שיחה 09:43, 14 ביולי 2007 (IDT)[תגובה]
נ.ב. אני רואה שאתה עומד להתגייס - אז מזל טוב ! (מזל טוב גם לבן השני שלי שהשתחרר שלשום מצה"ל). מי יכול לעזור לי בנושא ה-JS לאחר שתתגייס ? דף משתמש שיחה 09:46, 14 ביולי 2007 (IDT)[תגובה]
תנסה אולי את יוני או רותם. בעיקרון הקוד בתבנית צריך להיות ללוח השנה בגרסה המלאה ביותר שלו, והסקריפט יצטרך לדאוג להסתיר את החלקים הלא רצויים. את כל הימים הטובים אפשר לזהות עפ"י class="yomTov", את החגים שאינם שבתון עם class של heHoliday ואת ימי הזכרון בyomZikaron. לכל המועדים נראה לי שנצטרך לתת id ספציפי - בארגז החול שלי יש רשימה של אלו שטיפלתי בהם, צריך לסיים את זה לגבי כל תבניות הטולטיפ (עבדתי עפ"י הסדר במיוחד:Prefixindex/תבנית:טולטיפ). ערן 16:05, 15 ביולי 2007 (IDT)[תגובה]