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

ניסית CSS?
ניסית CSS?
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
איזה?
ל- WebForm אין CSS.
בכל מקרה לא נראה לי שזה היה עוזר אם היה, כי ה- module בונה את השדות במערך ומשתמש ב- drupal_get_form כדי לבנות את הדף.
השאלה היא איך לאמר ל- drupal_get_form לבנות את השדות שנגיד יש להם משקל זהה באותה שורה.
לא מדויק.
לא מדויק.
לכל שדה בוובפורמ יש class ייחודי המאפשר לך להתייחס אליו בנפרד ב-CSS.
כעיקרון, עדיף לפתור דברים ב-CSS לפני שניגשים ל-form_alter.
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
איפה אני מוצא
איפה אני מוצא את ה- CSS של השדות?
איך אני יודע מה ה- class הייחודי לשדה?
מעבר לזה, איך ב- CSS אני מגדיר ששני שדות נמצאים באותה שורה?
איפה אני מוצא
בקוד הדף, לאחר שהוא כבר מוצג, מאוד פשוט לזהות ולהעתיק את ה-classes
כנ"ל
יש כל מיני דרכים. אפשר לנסות להגדיר את המיכל (של השדה הרלוונטי) כ:
display:inline;או:float:right;או אפילו למקם אבסולוטית. הבחירה תלויה ביישום עצמו. כל אתר לגופו.
<
p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
<
p>
זהר סטולר, לינווייט
לינווייט תשתיות תוכן קהילתיות
הצגת טופס עם מספר שדות באותה שורה
באופן כללי ניתן לעשות זאת עם hook_alter_form, חלק מה-Forms API.
יש להוסיף מודול חדש שיעבור על המערך של הטופס של המודול הקיים ויוסיף HTML לפני ואחרי כל שדה. פשוט מוסיפים למערך אלמנטים כגון field_prefix ו-field_suffix כדי לשנות את ה-HTML שמופיע לפני ואחרי כל שדה, או משנים את האלמנט attributes כדי להוסיף פרמטרים כגון class להגדרת הטופס עצמו.
דוגמה למודול פשוט שמשתמש ב-hook_form_later הוא מודול primary_term. primary_term.module" target="_blank" rel="nofollow">תסתכל על הקוד ותבין שזה פשוט.
קישורים חשובים:
אמנון לבב - לבבי ייעוץ משולב
הדרכה, אפיון ופיתוח מקצועי של מערכות דרופל מתקדמות
בלוג בניית אתרים, תיק עבודות, המלצות
תודה
זה היה שיעור מאלף, אבל אני חושב שסוף סוף הבנתי מה קורה עם forms בדרופל.
טוב, אולי "הבנתי" זה לא ניסוח מדויק, אבל אני פחות clueless בנושא.
תודה.
להציג את תיאור השדה והשדה באותה שורה
איך להציג את תיאור השדה והשדה באותה שורה?
ניסיתי את זה ב-bluemarine-rtl אבל אמור לעבוד גם בעיצובים אחרים.
עבור אלמנטים מסוג item, כל מה שצריך זה CSS! פשוט לעשות float:right וכן padding-left על האלמנט של ה-label בתוך style-rtl.css והעניין מסודר
.form-item label {font-size: 1em;
color: #222;
float: right;
padding-left:10px;
}
עבור אלמנטים אחרים, כנראה צריך לעשות גם override של theme_form_element (הנה דוגמה: http://drupal.org/node/90706)
אמנון לבב - לבבי ייעוץ משולב
הדרכה, אפיון ופיתוח מקצועי של מערכות דרופל מתקדמות
בלוג בניית אתרים, תיק עבודות, המלצות
מצויין אבל
מה שאתה מציע פה מתייחס להגדרה של כל הטופס. אני מעוניינת להגדיר רק חלק מהשדות בצורה הזו.
אני מבינה מהתגובות הקודמות שאני צריכה לחפש את הCLASS הייחודי של כל שדה.
אני מסתכלת על הקוד הבא:
div class="form-item"
label for="edit-submitted-1169363135"
אם אני מבינה נכון אז
edit-submitted-1169363135
הוא השם הספציפי של השדה - אז איך אני מתייחסת אליו בCSS
תודה
ליאת
ליאת שדה-סעדון
לומבי - אינטרנט בגובה העיניים | www.lomby.co.il
מניסיוני בcss...
מניסיוני ניתן להגיע ולזהות איברים בdom של בדף ע"י ID או class
אך ניתן גם לזהותם על פי היררכיה.
כלומר אם הform-item הוא בן של איזה שהוא div אם ID מסוים אז בטח ייגשו אליו לפי -
#id-name . form-itemאם את במקרה עובדת אעם דרופל 5 אני ממליץ לך לנסות ולצוד את האלמנט בעזרת jquery לוקח זמן קצת להבין את הראש אך זה דרך מצוינת לצוד ולעשות מניפולציות על כל מיני חלקים בdom.
ליאור קסוס, לינוויט
תשתיות תוכן קהילתיות
ליאור קסוס, לינוויט
דרופל, אנדרואיד וקוד פתוח
דוגמה ליישום : הגדרות ה-CSS
דוגמה ליישום : הגדרות ה-CSS כפי שיושמו באתר קנדידה - מציגות את השדות של הטופס קשר כך שכל השדות באותה שורה, והם מיושרים בשני טורים:
#block-views-contactform .form-item label {width:80px;
float:right;
}
אמנון לבב - לבבי ייעוץ משולב
הדרכה, אפיון ופיתוח מקצועי של מערכות דרופל מתקדמות
בלוג בניית אתרים, תיק עבודות, המלצות