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

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

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

אבל לפעמים אנו זקוקים לדף אחד שמכיל מספר טפסים. איך עושים את הפלא הזה? בקלות רבה! כל מה שצריך הוא ליצור מודול של דרופל ואז אנחנו יכולים להפעיל את ה-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 דף מרובה טפסים באופן פשוט ואלגנטי.

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

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

נגישות טכנית – פודקאסט ומבוא

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

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

רינדור של קליינט סייד עם SSR

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

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

המנעו מהעלאת source control לשרת פומבי

לא תאמינו כמה אתרים מעלים את ה-source control שלהם לשרת. ככה תמצאו אותם וגם הסבר למה זה רעיון רע.

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