Добавьте поля в раздел информации о сайте на Drupal 6.12 - PullRequest
3 голосов
/ 12 июня 2009

Я перебираю документацию и форумы по друпалу, но все это немного утомительно. Если у кого-то есть простой или прямой способ добавления полей на страницу информации о сайте в разделе администрирования, я был бы очень признателен.

В качестве фона я просто пытаюсь добавить настраиваемые пользователем поля на сайте широкие поля / значения.

Ответы [ 3 ]

7 голосов
/ 12 июня 2009

В пользовательском модуле вы можете использовать hook_form_alter() для добавления дополнительных полей в эту форму. Например:

function mymodule_form_alter(&$form, $form_state, $form_id) {
  if ($form_id == 'system_site_information_settings') {
    $form['my_module_extra_setting'] = array(
      '#type' => 'checkbox',
      '#title' => t('Use my setting'),
      '#default_value' => variable_get('my_module_extra_setting', TRUE),
    );
  }
}

В любом месте вашего кода вам нужен доступ к самой сохраненной настройке, вы можете использовать тот же вызов, который использовался для заполнения значения по умолчанию этого элемента формы: variable_get('my_module_extra_setting', TRUE)

2 голосов
/ 12 января 2012

Чтобы сохранить значение из нового настраиваемого поля, вам необходимо добавить второй элемент отправки в массив отправки, например:

$form['#submit'][] = 'misc_system_settings_form_submit';

, а затем добавьте функцию для обработки отправки, например:

function misc_system_settings_form_submit($form_id, $form_values) {
    // Handle saving of custom data here
    variable_set('access_denied_message', $form_values['values']['custom_access_denied_message']);
}
1 голос
/ 09 сентября 2010

Функция должна быть mymodule_form_alter вместо mymodule_hook_form_alter

...