Урок - Форма настроек модуля.

Главная » Курсы » Курс Drupal 6, Разработка модулей. » Урок - Форма настроек модуля.

Обучающий онлайн курс
Drupal 6, Разработка модулей.

Лицензия: Копирование запрещено.
↑ Drupal 6, Разработка модулей.
  Урок - Форма настроек модуля.  
← Предыдущий урок
Урок - Права пользователей в Drupal 6.
  Текущий урок - последний.

Создаение страницы настроек

  • Создаем файл ramech.admin.inc в директории нашего модуля.
  • Создаем в файле ramech.admin.inc функцию ramech_settings(), котроая должна вернуть массив формы, для отображения.
    function ramech_settings() {
      $form['ramech__fieldset'] = array(
        '#type' => 'fieldset',
        '#title' => t('Ramech settings'),
        '#collapsible' => TRUE,
        '#collapsed' => FALSE,
      );
    
      $form['ramech__fieldset']['ramech__setting1'] = array(
        '#type' => 'select',
        '#title' => t('Node per page'),
        '#options' => drupal_map_assoc(array(5, 10, 15, 20, 25, 30, 50, 100, 150, 200, 300)),
        '#default_value' => variable_get('ramech__setting1', 50),
      );      
                                                         
      return system_settings_form($form);
    }

    Поясним код:

    • Функция variable_get('ramech__setting1', 50) - возвращает значение ранее сохраненное при помощи функции variable_set('valuename',value). Если значение для переменной valuename не найдено, то возвращается второй параметр функции value.
    • Функция system_settings_form($form) - принимает в качестве параметра массив определяющий форму, добавляет к нему две кнопки "Сохранить настройки" и "Вернуться к исходным", а также сохраняет все элементы в переменных (таблица variable) с названием совпадающим с наименованием элементов массива, т.е. например значение элемента формы $form['ramech__fieldset']['ramech__setting1'] будет сохранено в переменной ramech__setting1.
  • Определяем пункт меню для настрое используя hook_menu()
    /**
     * Implementation of hook_menu().
     */
    function ramech_menu() {
    	//	...	предыдущие пункты меню
    	
    	$items['admin/settings/ramech'] = array(
    		'title' => 'Ramech Settings',
    		// используем стандартный друпаловский коллбэк для форм
    		'page callback' => 'drupal_get_form',
    		// в качестве аргумента передаем имя функции с определенной нами формой
    		'page arguments' => array('ramech_settings'),
    		// с доступом пока не заморачиваемя и даем его пользователям с правами на админку  
    		'access arguments' => array('administer site configuration'),
    		// файл в котором расположена наша функция
    		'file' => 'ramech.admin.inc',
    	);
      	//	... последующие пункты меню
    	return $items;
    }
  • Если необходимо - перегружаем кэш.
  • Ну вот, теперь в меню Управление -> Настройки должен появиться новый пункт меню Ramech Settings, при переходе по данной ссылке должна открываться наша форма настройки модуля.
↑ Drupal 6, Разработка модулей.
  Урок - Форма настроек модуля.  
← Предыдущий урок
Урок - Права пользователей в Drupal 6.
  Текущий урок - последний.