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

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

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

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

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

בינה מלאכותית

Safeguards על מודל שפה גדול (LLM)

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

רשת האינטרנט

איך בונים custom GPT משלכם?

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

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