2010-03-29 9 views

risposta

3

Se si visita admin/costruire/contatti/impostazioni in Drupal 6 o 5 è possibile deselezionare "Enable modulo di contatto personale per default"

2

Un modulo di contatto personale non è qualcosa che si ottiene di default in Drupal. Ci sono dei moduli che possono farlo, probabilmente hai attivato un modulo del genere. Verifica quali moduli sono stati attivati ​​su admin/build/settings.

Se si desidera disattivare questo per gli utenti regolari solo si dovrebbe invece verificare di impostazioni di autorizzazione.

0

In entrambi i moduli controllare cosa si è impostato su Drupal, o controllare le impostazioni per i moduli di contatto. Credo che abbia l'opzione per il modulo di contatto a livello di sito e il modulo di contatto utente.

2

Disabilitare il modulo Contatto in 'Core - Opzionale'. Controlla i permessi degli utenti per qualsiasi cosa relativa a "contatto" e deselezionala.

personalmente raccomando Webform per gestire siti a livello moduli di contatto. Ti permetterà di costruire il tuo modulo con un'interfaccia utente. Il modo più semplice per ottenere una pagina Contattaci.

1

Drupal 6:

Se si desidera avere il livello di sito modulo di contatto abilitato, ma nemmeno visualizzare l'opzione per un modulo di contatto personale per gli utenti è necessario attenersi alla seguente procedura:

  1. Creare un modulo personalizzato

    http://www.hankpalan.com/blog/drupal/make-custom-drupal-module

  2. Aggiungere questo codice al file .module:

    funzione your_module_name_form_user_profile_form_alter (& $ form, & $ form_state) {

    unset ($ form [ 'contatto']);

    }

+0

Direi di usare $ form ['contact'] ['# access'] = FALSE; invece di unset ($ form ['contact']); per evitare che interferisca con il nucleo. – timofey

6

testato in Drupal 7.

Inserire il seguente nella template.php del vostro tema. Cambia MYTHEME con il tuo nome del tema.

function MYTHEME_form_alter(&$form, &$form_state, $form_id) { 
    if ($form_id == 'user_profile_form') { 
    $form['contact']['#access'] = FALSE; 
    } 
} 

Si noti che l'accesso è impostato su falso, anziché essere disinserito(), ovvero rimosso. In questo modo non interferiamo con il flusso di dati.

2

Drupal 7

Tutte le risposte non rimuovere la sezione per l'opzione di un contatto personale visualizzato (D7) a "utente /%/modificare"

enter image description here

Per rimuovere scheda E impostazioni per Drupal 7:

/** 
* Implements hook_form_alter(). 
*/ 
function MY_MODULE_form_alter(&$form, &$form_state, $form_id) { 
    if ('user_profile_form' === $form_id) { 
    $form['contact']['#access'] = FALSE; 
    } 
} 

/** 
* Implements hook_preprocess_page(). 
*/ 
function MY_MODULE_preprocess_page(&$variables) { 
    $menu_items = menu_get_item(); 
    if('user/%/edit' === $menu_items['path']){ 
     $variables['page']['content']['content']['content']['system_main']['contact']['#access'] = FALSE; 
    } 
} 

Dopo:

enter image description here

+0

La mia risposta rimuove la sezione per l'opzione di contatto personale visualizzata. Controlla il modulo di semplificazione. Fa esattamente ciò che hai fatto qui personalizzato in form_alter. – milkovsky

-1

Usa Contact permissions. Esso fornisce un permesso:

"Avere un modulo di contatto personale", che consente agli amministratori di configurare quali ruoli ottenere la possibilità di avere un "modulo di contatto personali" .

Anche il modulo Simplify ha un'opzione separata per quello.

Problemi correlati