Създаване на формуляр за настройки за модул с помощта на hook_menu() и system_settings_form() в Drupal 7,

Подробни уроци за CMS Drupal на прост език!

Упълномощаване

  1. У дома "
  2. блог »
  3. API на Drupal »
  4. Създаване на формуляр за настройки за.

Създаване на форма за настройки за модул с hook_menu() и system_settings_form() в Drupal 7

Почти всеки модул в Drupal има някакъв набор от настройки, така че в Drupal 7 има удобни инструменти за добавяне на вашия формуляр за настройки на модула към секциятаКонфигурация.

Помислете за процеса на създаване на формуляр за настройки за модул:

Като пример, нека създадем модулФормуляр за конфигурации (име на машинаcf ), който ще има само формуляр за настройки.

Първо, нека създадем файлаcf.info :

След това създайте файлcf.module и декларирайтеhook_menu в него:

Нека анализираме горния код: Първият елементadmin/config/cf описва нов раздел в секциятаКонфигурация, като функция заобратно извикване на страница извикваsystem_admin_menu_block_page от файлаsystem.admin.inc на модулаsystem. Тази функция ще създаде нов разделНов раздел за конфигурация за нас. Като допълнителни параметри посочвамеposition => left - показва нашата секция от лявата страна и тегло -100 поради това ще се показва в най-горната част на страницата.

Вторият елементadmin/config/cf/config_form описва най-често срещаната страница с форматаcf_config_form, която се намира във файлаcf.admin.inc.

Сега нека създадем файлcf.admin.inc и опишем формуляр в него с две прости настройки:

Ключът тук е да използвате функциятаsystem_settings_form(), която добавя специален манипулатор към формуляра, който щесъхранява изпратените данни в променливите, съответстващи на ключовете на елементите на формуляра (т.е. в таблицатапроменлива ). Това улеснява работата ни, тъй като вече няма нужда да пишем функция за обработка на формата.

Сега включваме нашия модул и отиваме в секциятаКонфигурация, където виждаме секцията, която създадохме, и връзка към формата за настройки на CF модула.

Виждаме също, че функциятаsystem_settings_form() автоматично добави бутонаЗапазване на конфигурацията към нашия формуляр.

Променете настройките и запазете формата:

След това виждаме, че настройките наистина са запазени.

Добавете следния ред към файлаcf.info :

Сега можем да стигнем до формата за настройки чрез директна връзка от секциятаМодули.