2010-03-29 24 views

Respuesta

3

Si visita admin/build/contacto/ajustes en Drupal 6 o 5 se puede desmarcar "Activar formulario de contacto personal por defecto"

2

Un formulario de contacto personal no es algo que se obtenga de manera predeterminada en Drupal. Hay módulos que pueden hacer esto, probablemente haya activado dicho módulo. Compruebe qué módulos ha activado en admin/build/settings.

Si desea deshabilitar esto solo para usuarios normales, en su lugar debería verificar la configuración de permisos.

0

Compruebe qué módulos ha configurado en drupal o compruebe la configuración de los formularios de contacto. Creo que tiene la opción de formulario de contacto en todo el sitio y formulario de contacto del usuario.

2

Desactive el módulo de contacto en 'Core - Optional'. Revise los permisos de usuario para todo lo relacionado con 'contacto' y desmárquelo.

Recomiende personalmente el formulario web para manejar los formularios de contacto de todo el sitio. Te permitirá construir tu formulario con una UI. La forma más fácil de obtener una página de contacto.

1

Drupal 6:

Si usted quiere tener la de todo el sitio formulario de contacto habilitado, pero ni siquiera mostrar la opción de un formulario de contacto personal a sus usuarios debe seguir estos pasos:

  1. Crear un módulo personalizado

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

  2. Añadir este código a su archivo .module:

    función your_module_name_form_user_profile_form_alter (& forma $, $ & form_state) {

    unset ($ form [ 'contactos']);

    }

+0

Aconsejo usar $ form ['contact'] ['# access'] = FALSE; en lugar de unset ($ form ['contact']); para evitar que interfiera con el núcleo. – timofey

6

Probado en Drupal 7.

Coloque el siguiente en template.php de su tema. Cambie MYTHEME por el nombre de su tema.

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

Observe que el acceso se establece en falso, en lugar de estar desarmado(), es decir, eliminado. De esa forma no estamos interfiriendo con el flujo de datos.

2

Drupal 7

Todas las respuestas no quita la sección de opción de contacto personal que se muestra (D7) en "usuario /%/editar"

enter image description here

de Remove pestaña Y configuraciones para 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; 
    } 
} 

Después:

enter image description here

+0

Mi respuesta elimina la sección de la opción de contacto personal que se muestra. Verifica el módulo de simplificación. Hace exactamente lo que hizo aquí personalizado en form_alter. – milkovsky

-1

Uso Contact permissions. Proporciona un permiso:

"tienen una forma de contacto personal", que permite a los administradores configurar qué roles obtener la capacidad de tener un "formulario de contacto personal" .

También el módulo Simplify tiene una opción separada para eso.

Cuestiones relacionadas