שלום חברים.
אני בונה אתר שיאפשר למשתמש ליצור טפסים בעצמו. אני עושה זאת באמצעות רכיב webform + טלאי שמאפשר נתינת הרשאות למשתמש לצפות ולערוך רק את הטפסים שלו עצמו.
ממשק יצירת הטופס אינו קל לאנשים שאינם טכניים ובעבר היה ניסיון לבנות רכיב בשם webform builder אך הוא הוא לא יצא בריליז. אני בוחר להשתמש בממשק הקיים של webform תוך פישוטו באופן ניכר וויתור על תכונות רבות, כך שכל אדם יוכל ליצור טופס בקלות רבה.
לשם כך, אני מבקש להוריד שדות בעמוד של עריכת שדה בודד (אני מתכוון לעמוד שמוצג בנתיב כזה, לדוגמא: node/8/edit/components/1).
הורדתי מספר שדות, ונתקעתי בשתי בעיות:
-
אם אני מוריד שדה שמופיע גם בעמוד רשימת כל השדות (נתיב לדוגמא: node/8/edit/components) אזי לאחר שמירת השינויים השדה מאבד את ערכיו. הכוונה לשני שדות ששניהם תיבת סימון: שדה חובה והכללת הערך שהוזן בהודעות אימייל. כלומר, כשחוזרים לעמוד רשימת השדות לאחר שינוי של שדה בודד (שהורדו ממנו שדות אלו) הערכים של שתי תיבות הסימון הן FALSE
-
קיימת התנהגות של המודול שלא הצלחתי להבין עבור השדה Field key שהוא שדה חובה - לעיתים ניתן ערך דיפולטי (קו תחתון לשדה הראשון, שני קווים לשדה השני, וכולי) ולעיתים תיבת הטקסט נשארת ריקה. כיון שכך, אני לא יכול להוריד את השדה הזה כי אז בעת במירת השינויים המערכת מודיעה שלא הוזן ערך עבור שדה זה. הייתי מעוניין להוריד שדה זה מכיון שהמשתמש לא מתעתד לעשות שימוש תכנותי בשדות ולכן השם אינו רלוונטי.
אשמח אם יש לכם רעיונות או כיוונים כיצד לעזור לי. יש לי סוג נוסף של צרכים לגבי פרויקט זה, אפרט באייטם אחר - "הפרד ומשול" :-)
תודה,
אמיר
נשמע מעניין מה שאתה זומם שם
נשמע מעניין מה שאתה זומם שם :)
הערך דיפולט (הקווים) הם (כנראה) בגלל שאתה נותן כותרות בעברית לשדות. אני לא חושב שאתה יכול פשוט להוריד אותו (כמו ששמת לב...). אני הייתי הולך יותר בכיוון של מילוי אוטומאטי רנדומלי (נניח) של השדה והסתרתו. אני חושב שבכלל הייתי משאיר בקוד את כל השדות ומסתיר אותם משם..
http://drupal.org/project/form_builder
http://www.appnitro.com/
http://drupal.org/project/simpleviews
(לא לגמרי קשור אבל בכיוון - אולי יכול לעזור לך קצת)
בהצלחה!
CPO - פתרונות דרופל.
www.cpo.co.il
תודה רבה. הלינק הראשון ל-
תודה רבה. הלינק הראשון ל- form_builder זה מה שהתכוונתי שלא יצא בריליס.
כיצד אני מסתיר שדה במקום להוריד אותו?
אכן אני "זומם"... וזה נכון תמיד ;-)
| פרקטיקול - בונים לך אתר דרופל | קורס דרופל! | עזרה מידית בקבוצה שלנו בפייסבוק! | מכללת קוד פתוח
לא ניסיתי את זה אף פעם עם
לא ניסיתי את זה אף פעם עם webform, אבל הדרך לשנות טפסים היא להשתמש ב- hook_form_alter.
אתה יכול לנסות גם את המודול formfilter.
אתה יכול גם (אולי) לשנות בטופס את הסוג ל"hidden", כך שבמקום נניח:
'#type' => 'checkbox'
תכתוב:
'#type' => 'hidden'
למודול webform יש (?) אפשרות להוספת שדות מוחבאים - אולי תנסה לשחק עם זה, תבדוק את הקוד, ותראה אם אתה יכול להשתמש במשהו משם. אני חושב שחוץ מכל זה תצטרך גם להשתמש בוולידציה של webform (או באמצעים אחרים) בשביל ליצוק תוכן כלשהוא לתוך השדות המוחבאים.
אל תתפוס אותי במילה - כמו שאמרתי לא ניסיתי את זה ויכול להיות שאני ממש לא בכיוון.
CPO - פתרונות דרופל.
www.cpo.co.il