2010-03-29 23 views
5

Tôi là người mới bắt đầu của Drupal. Khi người dùng tạo tài khoản của họ, họ có tùy chọn để có biểu mẫu liên hệ cá nhân. Tôi phải tắt nó ở đâu? Nó không có quyền. Nó không phải là một lựa chọn tồi, nhưng tôi biết nó sẽ gây nhầm lẫn cho những người sử dụng trang web của tôi. Nó thậm chí có thể sợ hãi một số đi!Làm cách nào để vô hiệu hóa tùy chọn biểu mẫu liên hệ cá nhân trong biểu mẫu chỉnh sửa người dùng?

Trả lời

3

Nếu bạn truy cập admin/xây dựng/xúc/cài đặt trong Drupal 6 hoặc 5 bạn có thể bỏ chọn "Enable hình thức liên lạc cá nhân bằng cách mặc định"

2

Biểu mẫu liên hệ cá nhân không phải là thứ bạn nhận được theo mặc định trong Drupal. Có các mô-đun có thể làm điều này, bạn có thể đã kích hoạt một mô-đun như vậy. Kiểm tra những module bạn đã kích hoạt tại admin/build/settings.

Nếu bạn chỉ muốn vô hiệu hóa điều này cho người dùng thông thường, thay vào đó bạn nên kiểm tra cài đặt quyền của mình.

0

Kiểm tra mô-đun nào bạn đã đặt trên drupal hoặc kiểm tra cài đặt cho biểu mẫu liên hệ. Tôi tin rằng nó có tùy chọn cho biểu mẫu liên hệ rộng trên trang web và biểu mẫu liên hệ của người dùng.

2

Vô hiệu hóa mô-đun Liên hệ trong 'Lõi - Tùy chọn'. Xem xét các quyền của người dùng đối với bất kỳ điều gì liên quan đến 'liên hệ' và bỏ chọn nó.

Cá nhân đề xuất Biểu mẫu web để xử lý các biểu mẫu liên hệ rộng trên trang web. Nó sẽ cho phép bạn xây dựng biểu mẫu của mình bằng giao diện người dùng. Cách dễ nhất để có được trang Liên hệ với chúng tôi.

1

Drupal 6:

Nếu bạn muốn có trang web rộng hình thức liên lạc được kích hoạt, nhưng thậm chí không hiển thị các tùy chọn cho một hình thức liên lạc cá nhân cho người dùng của bạn, bạn phải làm theo các bước sau:

  1. Tạo một module tùy chỉnh

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

  2. Thêm mã này vào tập tin .module của bạn:

    chức năng your_module_name_form_user_profile_form_alter (& $ form, & $ form_state) {

    unset ($ form [ 'xúc']);

    }

+0

Tôi khuyên bạn nên sử dụng biểu mẫu $ ['contact'] ['# access'] = FALSE; thay vì bỏ đặt ($ form ['contact']); để ngăn chặn nó can thiệp vào lõi. – timofey

6

Tested trong Drupal 7.

Đặt sau trong template.php của chủ đề của bạn. Thay đổi MYTHEME thành tên chủ đề của bạn.

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

Lưu ý rằng quyền truy cập được đặt thành false, thay vì không được đặt(), tức là bị xóa. Bằng cách đó, chúng tôi không can thiệp vào luồng dữ liệu.

2

Drupal 7

Tất cả các câu trả lời KHÔNG loại bỏ phần cho các tùy chọn liên hệ cá nhân hiển thị (D7) tại "user /%/chỉnh sửa"

enter image description here

Đối remove tab VÀ cài đặt cho 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; 
    } 
} 

Sau:

enter image description here

+0

Câu trả lời của tôi sẽ xóa phần hiển thị liên hệ cá nhân được hiển thị. Kiểm tra mô-đun đơn giản hóa. Nó thực hiện chính xác những gì bạn đã làm ở đây tùy chỉnh trong form_alter. – milkovsky

-1

Sử dụng Contact permissions. Nó cung cấp một phép:

"Có một hình thức liên hệ cá nhân" cho phép quản trị cấu hình mà vai trò có được khả năng để có một "hình thức liên lạc cá nhân" .

Mô-đun Simplify cũng có tùy chọn riêng biệt.

Các vấn đề liên quan