Друпал 7 - создание пользовательской формы

Ну, для начала давайте почитаем эту статью

Так вот на базе неё, для модуля с таким именем мы в файле nvnforum.module, должны написать следующее:


<?php


// описание формы
function my_first_form($form, &$form_state){
	$form=array();
	$form['name'] = array(
		'#type'	=> 'textfield',
		'#title' => t('Название поля'),
		'#default_value' => t('Текст по умолчанию'),
	);
	$form['settings'] = array(
		'#type' => 'radios',
		'#title' => t('Состояние статуса'),
		'#options' => array(0 => t('Статус 1'), 1 => t('Статус 2')),
		'#description' => t('Описание данного элемента.'),
    );
	$form['submit'] = array(
		'#type' => 'submit',
		'#value' => t('Submit'),
	);
	return $form;
}

/* имяформы+_form_submit - позволяет определить обработчик -поумолчанию*/
function my_first_form_submit($form, &$form_state){ 
	debug($form_state['values']);
}

// функция которая выполнит "отрисовку" формы
function main_function(){
	$form = drupal_get_form('my_first_form'); //получаем поля формы
	$form = drupal_render($form); //рендерим форму
	return $form.'Содержимое тестовой страницы.';
	//echo '1231234'; // это не трогайте, оно нужно для другого примера =)
}

// хук (крючок) определяющий компоненты меню - именно
// он позволяет нам сделать адрес  http://имясайт/nvnforum
// доступным для обращения 
function nvnforum_menu(){
	$items = array();
 
	$items['nvnforum'] = array( // nvnforum- адрес на сайте по которому будет доступна форма
		'title' => 'Заголовок страницы',//заголовок страницы
		'page callback' => 'main_function',//имя функции, которая отрисует форму
		'type' => MENU_NORMAL_ITEM, //тип страницы
		'access callback' => TRUE, //доступ к странице (здесь можно написать проверяющую функцию)
	);

 
	return $items;
}

А теперь - если нем вообще не нужна никакая форма, а просто нужен обработчик, то делает так.