יצירת דף בדרופל המכיל מספר טפסים

צריכים להכניס כמה טפסים לדף אחד בדרופל? קל מאד לעשות את זה עם מודול פשוט.

אחד הדברים היפים שכדאי לדעת על דרופל הוא מערכת הטפסים הנפלאה שלה שמאפשרת ליצור בהינף מקלדת טפסים מורכבים בקלות רבה.

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

ראשית עלינו ליצור את הדף. איך יוצרים דפים? באמצעות hook_menu!


function mymodule_menu() {
	$items['my_page'] = array(
		'title' => t('My Page'),
		'page callback' => 'my_page_view',
		'access arguments' => array('access content'),
    );
    return $items;
}

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


function my_page_view() {
	$page['p1'] = drupal_get_form('form_id_1');
	$page['p2'] = drupal_get_form('form_id2');
	return $page;
}

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

אם אני רוצה להכניס HTML בין הטפסים או בנוסף להם, גם זה פשוט מאד, פשוט משתמשים ב-markup! למשל:


function my_page_view() {
	$page['p1'] = drupal_get_form('form_id_1');
	$page['p2'] = drupal_get_form('form_id2');
	$page['3']['#markup'] = "<h2>This is some text...</h2>";
	return $page;
}

אני יכול לשחק עם המבנה כמובן כמה שיתחשק לי, כל עוד אני מחזיר מערך כמובן. את הדף הזה אפשר לתבנת (מלשון Theming) באופן הרגיל והוא בדיוק כמו כל דף שהוא. אם אני רוצה להוסיף js לדף, קל לי לעשות את זה באמצעות drupal_add_js:


function my_page_view() {

	drupal_add_js(drupal_get_path('module', 'mymodule').'/js/my_js.js', array('type' => 'file', 'scope' => 'footer'));

	$page['p1'] = drupal_get_form('form_id_1');
	$page['p2'] = drupal_get_form('form_id2');
	$page['3']['#markup'] = "<h2>This is some text...</h2>";
	return $page;
}

כך ניתן ליצור בדרופל 7 דף מרובה טפסים באופן פשוט ואלגנטי.

פוסטים נוספים שכדאי לקרוא

חדשות אינטרנט

אז מה הקטע עם Moltbook?

הרשת החברתית של ״הבוטים״ מכה גלים ברשת. בואו נחטט בקבצי הקוד שלה כדי להבין מה קורה פה ומה זה ההייפ הזה

בניית אתרי אינטרנט

לאחסן שרת בבית? זה לגמרי אפשרי

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

פתרונות ומאמרים על פיתוח אינטרנט

לא פרצו לנו, רק דלף לנו – לקחים טכניים מפרשת אלקטור

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

יסודות בתכנות

הסבר קל ופשוט על Reinforcement Learning

הסבר פשוט למתכנתים שמסביר על איך למידה מחוזקת עובדת – הרבה יותר פשוט ממה שחשבתם ואפשר גם בג׳אווהסקריפט!

גלילה לראש העמוד