Làm thế nào để bạn đưa Drupal đến một trang khác với Hồ sơ người dùng khi đăng nhập?


7

VẤN ĐỀ: Tôi đã thử một vài điều để đưa Drupal đến DỪNG vào trang Prolfile của người dùng khi đăng nhập. Tôi thậm chí đã cài đặt mô-đun LoginToboggan , có các tính năng hay, chỉ không ngăn Drupal gửi tất cả người dùng đăng nhập vào trang Hồ sơ người dùng của họ. Nói rõ hơn, "tùy chọn chuyển hướng [của] người dùng đến một trang cụ thể khi sử dụng tính năng 'đăng nhập ngay lập tức'" - CHỈ dành cho người dùng mới, không phải người dùng hiện tại ... Vâng, tôi biết, không có ý nghĩa gì.

MỤC TIÊU: Chỉ cần có thể thiết lập trang đăng nhập; không cần thiết lập tải trang dựa trên vai trò, nhưng này, sẽ tốt hơn nếu nó không phức tạp.

CẬP NHẬT: Tìm ra một sửa chữa dựa trên nhu cầu của tôi, xem câu trả lời của tôi dưới đây.

Câu trả lời:


2

Bạn có thể:

  • Sử dụng mô đun Đích đăng nhập .
  • Hãy để người dùng của bạn đăng nhập tại www.example.com/user?destination=some/path. Điều này sẽ chuyển hướng họ đến www.example.com/some/path sau khi gửi biểu mẫu.
  • Viết mô-đun tùy chỉnh, triển khai hook_form_alter. Nó được giải thích ở đây: http://drupal.org/node/236234 .

@marcvangend: Cảm ơn, đã hoàn thành giải pháp đó, nhưng tôi sẽ kiểm tra càng sớm càng tốt. Chúc mừng & một lần nữa cảm ơn !!
sai lầm ngớ ngẩn

3

Tìm ra. Vì vậy, bạn:

THIẾT LẬP NÓ:

  1. Tạo một TRANG,
  2. CHỈ có mô-đun đăng nhập mặc định hiển thị trên TRANG bằng cách sử dụng cài đặt cấu hình BLOCK.
  3. Khi tải, BLOCKS được đặt thành CHỈ hiển thị nội dung cho người dùng ROLE đó.

VẤN ĐỀ: Mặt trái là người dùng chưa đăng nhập sẽ thấy trang TITLE và người dùng có thể đăng nhập sẽ thấy cùng một trang TITLE.

Vui lòng bình luận nếu điều đó không có ý nghĩa, HOẶC gửi câu trả lời khác nếu có giải pháp tốt hơn. Cảm ơn!!


Trong giải pháp này (khá là hackish, IMHO), theo mặc định, bạn đang sử dụng hành vi mà khối đăng nhập, chuyển hướng đến trang mà người dùng đang ở trước khi đăng nhập. Ngoài những nhược điểm bạn đã đề cập, tôi nghĩ phương pháp này sẽ chứng minh sẽ rất không linh hoạt trong dài hạn. Có phương pháp tốt hơn, xem câu trả lời của tôi.
marcvangend

1

Tôi đã nghe nói rằng một số người sử dụng mô-đun quy tắc để hướng mọi người đến các trang khác nhau khi đăng nhập, phụ thuộc vào vai trò của họ hoặc chỉ để thực hiện chuyển hướng chung đến trang mà người đăng nhập.

http://drupal.org/project/rules


@Purcell: Không thể, tôi không biết. Tôi đã nghe các quy tắc được sử dụng chủ yếu như các điều khiển quy trình công việc nội dung, nhưng thực sự không có cơ hội để xem xét chúng. Cảm ơn vì đăng!!
sai lầm ngớ ngẩn

1

Chắc chắn bạn có thể làm điều này trong Drupal bằng mô-đun Rules ...

Dưới đây là một ví dụ về quy tắc như vậy cho Drupal phiên bản 7, trong cái được gọi là Quy tắc "định dạng xuất":

{ "rules_redirect_selected_roles_to_selected_term_pages" : {
    "LABEL" : "Redirect selected roles to selected term pages",
    "PLUGIN" : "reaction rule",
    "ACTIVE" : false,
    "OWNER" : "rules",
    "REQUIRES" : [ "rules" ],
    "ON" : { "user_login" : [] },
    "IF" : [
      { "user_has_role" : { "account" : [ "account" ], "roles" : { "value" : { "5" : "5" } } } }
    ],
    "DO" : [ { "redirect" : { "url" : "node\/123" } } ]
  }
}

Bạn chỉ có thể "nhập" quy tắc trên trong cài đặt Drupal của riêng bạn thông qua UI Admin của Drupal, sử dụng liên kết có nhãn " quy tắc nhập " nằm ở đường dẫn tương đối admin/config/workflow/rules/reaction/importtrong trang web Drupal của riêng bạn.

Một số chi tiết khác về những gì quy tắc trên thực sự làm:

  1. Nó được kích hoạt bởi Rules Event = User has logged in.
  2. Nó bao gồm một Điều kiện quy tắc trong trường hợp này là User has role(s) = subscriber. Trên thực tế, 4ở định dạng xuất ở trên tương ứng với subscribercài đặt Drupal nơi tôi đã xuất từ ​​này, nếu bạn thay đổi, trước khi nhập, 4thành một 3, nó sẽ tương ứng với administrator(chỉ cần chọn bất kỳ "vai trò" nào bạn muốn, bằng cách thay đổi nó sử dụng UI Rules, sau khi bạn nhập quy tắc này). Nếu bạn muốn điều này áp dụng cho bất kỳ vai trò nào, thì chỉ cần bỏ qua (xóa) điều kiện Quy tắc này (cách dễ nhất để thực hiện xóa như vậy, là sử dụng UI Rules sau khi bạn nhập ví dụ này).
  3. Nó sẽ thực hiện một quy tắc hành động = Page redirect = node/123. Đây node/123là những gì mong muốn trong bản cài đặt Drupal nơi tôi đã xuất cái này, nhưng bạn có thể chỉ cần thay đổi nó thành bất kỳ đường dẫn (tương đối) hợp lệ nào mà bạn muốn. Vì vậy, hãy đảm bảo thay đổi điều đó node/123thành đường dẫn tương đối của trang tương ứng với " ... trang khác với Hồ sơ người dùng khi đăng nhập ... ".

Đó là nó, hoạt động như một nét duyên dáng!

Bạn có thể làm cho nó thậm chí (cách) tinh vi hơn bằng cách tăng cường quy tắc với các tùy chọn như:

  • Chuyển hướng đến một trang (đường dẫn) phụ thuộc vào vai trò của người dùng.
  • Thực hiện chuyển hướng phụ thuộc vào (các) ngày trong tuần hoặc thời gian trong ngày (ví dụ: trong giờ mở / đóng cửa của cửa hàng).

PS: nếu bạn quan tâm (cách) nhiều ví dụ về những điều tuyệt vời bạn có thể làm với mô-đun Quy tắc , thì hãy truy cập các câu trả lời này trên Drupal.SE (với các câu hỏi được gắn thẻ với mô-đun Quy tắc ).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.