2010-03-29 9 views

Répondre

3

Si vous visitez admin/build/contact/paramètres dans Drupal 6 ou 5, vous pouvez décocher "Activer formulaire de contact personnel par défaut"

2

Un formulaire de contact personnel n'est pas quelque chose que vous obtenez par défaut dans Drupal. Il y a des modules qui peuvent le faire, vous avez probablement activé un tel module. Vérifiez quels modules vous avez activés dans admin/build/settings.

Si vous souhaitez désactiver ceci pour les utilisateurs réguliers, vous devriez plutôt vérifier les paramètres d'autorisation.

0

Soit vérifier ce que vous avez des modules mis sur Drupal, ou vérifier les paramètres des formulaires de contact. Je crois qu'il a l'option pour le formulaire de contact large de site et le formulaire de contact d'utilisateur.

2

Désactiver le module Contact sous 'Core - Facultatif'. Regardez à travers les autorisations des utilisateurs pour tout ce qui touche à «contact» et décochez-le. Personnellement, recommandez Webform pour gérer les formulaires de contact à l'échelle du site. Il vous permettra de construire votre formulaire avec une interface utilisateur. Le moyen le plus simple d'obtenir une page Contactez-nous.

1

Drupal 6:

Si vous voulez avoir l'ensemble du site formulaire de contact activé, mais pas même afficher l'option d'un formulaire de contact personnel à vos utilisateurs, vous devez suivre les étapes suivantes:

  1. Créer un module personnalisé

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

  2. Ajouter ce code à votre fichier .module:

    your_module_name_form_user_profile_form_alter (& $ form, & form_state $) fonction

    {

    unset ($ form [ 'contact']);

    }

+0

Je vous conseille d'utiliser $ form ['contact'] ['# access'] = FAUX; au lieu de unset ($ form ['contact']); pour l'empêcher d'interférer avec le noyau. – timofey

6

Testés dans Drupal 7.

Placez les éléments suivants dans template.php de votre thème. Changez MYTHEME à votre nom de thème.

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

Notez que l'accès est défini sur false au lieu d'être unset(), c'est-à-dire supprimé. De cette façon, nous n'interférons pas avec le flux de données.

2

Drupal 7

Toutes les réponses PAS supprimer la section pour l'option de contact personnel affiché (D7) à "utilisateur /%/modifier"

enter image description here

Pour supprimer Onglet Paramètres AND pour 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; 
    } 
} 

Après:

enter image description here

+0

Ma réponse supprime la section pour l'option de contact personnel affichée. Vérifiez le module simplifier. Il fait exactement ce que vous avez fait ici dans form_alter. – milkovsky

-1

Utilisez Contact permissions. Il fournit une autorisation:

« Avoir un formulaire de contact personnel » qui permet aux administrateurs de configurer quels rôles obtenir la possibilité d'avoir un « formulaire de contact personnel ».

Le module Simplify dispose également d'une option distincte pour cela.

Questions connexes