Drupal 6.12 üzerinde Site bilgileri bölümüne alanları ekleme

3 Cevap php

Ben drupal belgelerine ve forumlar yoluyla değişen oldum ama hepsi biraz zor bulunuyor. Herkes yönetim bölümünde Site bilgileri sayfasına alanları eklemek için basit veya yalındır yöntemi varsa ben gerçekten takdir ediyorum.

Bir arka plan olarak, ben sadece kullanıcı özelleştirilebilir alanlar site geniş alanları / değerler eklemek için çalışıyorum.

3 Cevap

Özel bir modül olarak, hook_form_alter() bu forma için ekstra alanlar eklemek için kullanabilirsiniz. Örneğin:

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),
    );
  }
}

Anywhere kodda ise erişim gerekir kendisini kaydedilen ayarı, söz konusu form elemanın varsayılan değeri doldurmak için kullanılan aynı çağrıyı kullanabilirsiniz: variable_get('my_module_extra_setting', TRUE)

Bu fonksiyon mymodule_form_alter yerine mymodule_hook_form_alter olmalıdır

Yeni özel alanından değeri kaydetmek için size göndermek dizi örneğin ikinci bir göndermek öğe eklemek gerekir:

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

ve daha sonra, örneğin, teslim işlemek için bir işlev eklemek:

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']);
}