Друпал 7 - создание пользовательской формы
Primary tabs
Ну, для начала давайте почитаем эту статью
Так вот на базе неё, для модуля с таким именем мы в файле 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; }
А теперь - если нем вообще не нужна никакая форма, а просто нужен обработчик, то делает так.
- Log in to post comments
- 7883 reads