2010-03-29 18 views

Odpowiedz

3

Jeśli wizyta admin/budowy/Kontakt/ustawienia w Drupal 6 lub 5 można odznacz „Włącz prywatnego formularza kontaktowego domyślnie”

2

Osobisty formularz kontaktowy nie jest domyślnie dostępny w Drupal. Istnieją moduły, które mogą to zrobić, prawdopodobnie aktywowałeś taki moduł. Sprawdź, jakie moduły aktywowałeś w admin/build/settings.

Jeśli chcesz wyłączyć to tylko dla zwykłych użytkowników, powinieneś sprawdzić ustawienia uprawnień.

0

Sprawdź, jakie moduły ustawiłeś na drupalu, lub sprawdź ustawienia formularzy kontaktowych. Uważam, że ma opcję formularza kontaktowego dla całej witryny i formularza kontaktowego użytkownika.

2

Wyłącz moduł Contact w opcji Core - Optional. Przejrzyj uprawnienia użytkownika dla wszystkiego, co dotyczy "kontaktu" i odznacz je.

Osobiście polecam formularz internetowy do obsługi formularzy kontaktowych w całej witrynie. Umożliwi ci to skonstruowanie formularza za pomocą interfejsu użytkownika. Najprostszy sposób na uzyskanie strony Kontakt.

1

Drupal 6:

Jeśli chcesz mieć w całej witrynie Formularz kontaktowy włączona, ale nie nawet wyświetlić opcję osobistego formularza kontaktowego dla użytkowników należy wykonać następujące kroki:

  1. Utwórz moduł niestandardowy

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

  2. Dodaj ten kod do swojej .module pliku:

    funkcja your_module_name_form_user_profile_form_alter (& $ forma, & $ form_state) {

    rozbrojony ($ form [ 'kontakt']);

    }

+0

Radzę użyć $ form ['contact'] ['# access'] = FALSE; zamiast unset ($ form ['contact']); aby zapobiec zakłóceniu rdzenia. – timofey

6

Testowany w Drupal 7.

miejsce następujące w template.php Twojego tematu. Zmień MYTHEME na swoją nazwę motywu.

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

Należy zauważyć, że dostęp jest ustawiony na wartość false, zamiast być usuwany(), tj. Usuwany. W ten sposób nie ingerujemy w przepływ danych.

2

Drupal 7

Wszystkie odpowiedzi nie usunąć sekcję dla opcji osobistego kontaktu wyświetlany (D7) na "użytkownika /%/edit"

enter image description here

Dla Usuń zakładka i ustawienia dla Drupala 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; 
    } 
} 

Po:

enter image description here

+0

Moja odpowiedź usuwa sekcję z opcją osobistego kontaktu wyświetlaną. Sprawdź moduł upraszczający. Robi to dokładnie to, co zrobiłeś tutaj niestandardowo w form_alter. – milkovsky

-1

Zastosowanie Contact permissions. Zapewnia uprawnienia:

„posiada prywatnego formularza kontaktowego”, który pozwala administratorom konfigurowanie które role uzyskać zdolność do posiadania „Osobiste formularza kontaktowego” .

Również moduł Simplify ma osobną opcję.

Powiązane problemy