Làm cách nào để tạo thông báo người dùng theo phong cách Facebook?


14

Sử dụng Heartbeat tôi đã có thể thực hiện các luồng hoạt động của người dùng một cách hiệu quả thông qua các kích hoạt Quy tắc. Tuy nhiên, tôi muốn có thể có người dùng thông báo về các hoạt động mới và giữ số lượng các hoạt động mới như trong facebook, hoặc thậm chí tương tự như số lượng email mới trong hầu hết các hệ thống email.

Trong Drupal 6 có một vài mô-đun có thể đạt được điều này tốt, tuy nhiên làm thế nào điều này có thể được thực hiện trong Drupal 7?

Tôi đã thực hiện nghiên cứu khá sâu rộng về vấn đề này nhưng tôi không thể tìm thấy các mô-đun đúng vào thời điểm này: Có các Notifications tài khoảnthông báo của mô-đun, đó sẽ là giải pháp hoàn hảo, ngoại trừ duy nhất phiên bản D6 tồn tại. Có các Thông báo không thể tích hợp với bất kỳ mô đun ghi nhật ký hoạt động nào vì nó thiếu hỗ trợ Quy tắc phù hợp. Hai triển khai thú vị là AppbarThanh tác vụ cung cấp các khay thả xuống với danh sách các hoạt động, nhưng không tính số lượng hoạt động mới và không còn tích hợp với Quy tắc. Cuối cùng là DLikelà một bộ đếm động tuyệt vời, mặc dù tại thời điểm này, nó chỉ đếm các Cờ và cung cấp một liên kết đến một danh sách những người dùng gắn cờ. Có lẽ với một số điều chỉnh, nó có thể được sử dụng thông qua tích hợp Flags Rules để theo dõi các hoạt động gần đây (được gắn cờ) và liên kết đến một danh sách các hoạt động gần đây.

Có thể đạt được chức năng tương tự như trong Drupal 7 không? Facebook


1
Đây không phải là một câu trả lời, tôi có cùng một loại yêu cầu và không phải mô-đun nào phù hợp với chức năng. Vì vậy, tôi đã đạt được điều này với khối tùy chỉnh hiển thị số lượng thông báo với thả xuống và chi tiết. Đối với thông báo thời gian thực, tôi đang sử dụng mô-đun nodejs để nối thêm thông báo mới trong đó. Sự kiện cho nodejs sẽ được gọi từ các quy tắc với mã php.
j2r


Tôi có một cái gì đó như thế này: drupal.stackexchange.com/questions/158932/NH
drupaluser

Câu trả lời:


4

Cách tiếp cận 1: Phù hiệu menu

Sử dụng mô-đun Menu Badges để thêm các thông báo như vậy vào bất kỳ mục menu và / hoặc tab menu nào bạn chọn. Dưới đây là một số chi tiết về nó (từ trang dự án của nó):

Cung cấp phương pháp để thêm huy hiệu kiểu iOS vào các mục menu. (xem ảnh chụp màn hình)

nhập mô tả hình ảnh ở đây

Thêm huy hiệu cho thực đơn

Sau khi được bật, hãy truy cập Administration > Structure > Menusvà nhấp vào "danh sách liên kết" bên cạnh menu chứa mục đích. Nhấp vào "chỉnh sửa" bên cạnh mục và chọn huy hiệu để hiển thị với hộp chọn Hiển thị Menu Hiển thị.

Thêm huy hiệu vào tab

Để thêm huy hiệu vào các tab menu, có một tab bên dưới Administration > Structure > Menusđược gọi là "Huy hiệu Menu Tab". Tìm kiếm đường dẫn bộ định tuyến menu của tab bạn muốn thay đổi, sau đó chọn huy hiệu từ hộp chọn tương ứng.

Các loại huy hiệu

Mô-đun bao gồm năm huy hiệu mẫu và huy hiệu mới có thể được tạo dễ dàng với Chế độ xem . Các mô-đun cũng có thể cung cấp phù hiệu riêng của họ với việc thực hiện móc. Xem tệp README.txt để biết chi tiết.

Do cách tích hợp với mô-đun Lượt xem , về cơ bản, bạn giảm giải pháp cho mọi loại thông báo thành một cái gì đó như "Chỉ cần tạo chế độ xem phù hợp cho nó".

Video hướng dẫn:

Cách tiếp cận 2: Ngăn xếp tin nhắn

Sử dụng Ngăn xếp thư , bao gồm các mô-đun này (trích dẫn từ trang dự án của mô-đun):

  • Tin nhắn :

    Mô-đun Message là cốt lõi của ngăn xếp tin nhắn. Nó cho phép ghi nhật ký và hiển thị các sự kiện hệ thống trong một số trường hợp sử dụng khác nhau. Các sự kiện được ghi lại theo thời gian đôi khi là các luồng hoạt động. Các kiểu con thư có thể xuất có thể được tạo cho các trường hợp sử dụng khác nhau với các trường tùy chỉnh và chế độ hiển thị (chế độ xem).

  • Thông báo Thông báo .

    Mô-đun này cung cấp một phương thức để gửi tin nhắn thông qua plugin thông báo. Thông báo tin nhắn đi kèm với các plugin cho email và SMS và có thể được mở rộng sang các cơ chế vận chuyển khác theo yêu cầu.

  • Tin nhắn Đăng ký .

    Với mô-đun này, người dùng đăng ký nội dung sẽ được thông báo khi các sự kiện xảy ra liên quan đến nội dung đó. Mô-đun tận dụng mô-đun Flag, cung cấp chức năng đăng ký cho người dùng.

Đây là các thành phần cơ bản và phụ thuộc của ngăn xếp thư:

nhập mô tả hình ảnh ở đây

Khá nhiều bản phân phối Drupal phổ biến đã được áp dụng cho Message Message này, chẳng hạn như Commerce Kickstart , Drupal Commons , ERPALOpen Atardi .

Nếu bạn muốn xem kỹ hơn về Ngăn xếp thư trong môi trường của riêng bạn, thì hãy thử nghiệm một chút với mô-đun Câu trả lời (tiết lộ: Tôi là người đồng bảo trì), cùng với mô-đun phụ Thông báo câu trả lời , cho phép đăng nhập Người dùng đăng ký các câu hỏi đã chọn để họ nhận được thông báo (sử dụng Ngăn xếp Tin nhắn ) khi Câu hỏi nhận được Câu trả lời.

Và Message Stack cũng sẽ giúp bạn có vị trí tốt cho Drupal 8 (vì kiến ​​trúc hướng đối tượng của mô-đun). Mặc dù chưa có thứ gì như 8.x-dev, kho lưu trữ mã Message đã có sẵn một cái gì đó (chưa có cho 2 mô-đun khác). Tôi giả sử wipmột phần của tên chi nhánh là viết tắt của 'Work In Progress'.


will make you well positioned for Drupal 8 also.ý bạn là gì trong tương lai? Tôi thấy không có mô-đun tin nhắn nào có phiên bản Drupal 8, thậm chí không có dev.
Không có Sssweat

1
Xin chào @NoSssweat ... Tôi hơi mở rộng (sau đó là cuối) câu trả lời của tôi để làm rõ phần D8 của nó.
Pierre.Vriens

Cảm ơn bạn rất nhiều vì đã trả lời lòng tốt của bạn @ Pierre.Vriens, tôi sẽ kiểm tra tất cả các tài liệu liên quan với hy vọng rằng tôi sẽ có một ý tưởng rõ ràng về ngăn xếp tin nhắn ...
Charbel El Azzi

1
ý tôi là tôi quen thuộc về cách làm cho hệ thống thông báo hoạt động giữa những người dùng trên trang web của tôi và bây giờ tôi đã tìm hiểu thêm về ngăn xếp tin nhắn mà tôi rất vui, nhưng tôi vẫn bối rối về cách tôi có thể thiết kế menu thông báo thả xuống như vậy .. .
Charbel El Azzi

1
Một ví dụ khác để hiểu thêm về vấn đề của tôi: Hãy xem menu thả xuống khi bạn di chuột qua giỏ mua hàng trong trang web thương mại khởi động 2 (nếu bạn quen thuộc với phân phối kickstart) ... hệ thống thả xuống như vậy tôi đang tìm kiếm câu hỏi của tôi ... cảm ơn một lần nữa vì thời gian và nỗ lực của bạn thân yêu @ Pierre.Vriens, Chúa phù hộ bạn.
Charbel El Azzi

3

Có một cặp mô-đun tương đối mới mà tôi nghĩ sẽ rất tuyệt để sử dụng cho việc này: Tin nhắnThông báo tin nhắn .

Tin nhắn về cơ bản là một khung để tạo "tin nhắn", trong trường hợp của bạn sẽ là các mục thông báo. Một điều thú vị là những thứ này thực sự được tạo ra dưới dạng các thực thể, do đó sẽ dễ dàng hiển thị sau đó trong khối thả xuống, có trang Tất cả thông báo, cũng như có một trường tùy chỉnh hoặc gắn cờ cho biết chúng đã được nhìn thấy (hoặc là mới). Sau đó, bạn có thể kết nối thông báo này với email thông báo với mô-đun Thông báo tin nhắn .

Lưu ý rằng việc tích hợp điều này vào trang web của bạn sẽ là một nhiệm vụ phát triển hơn là một nhiệm vụ xây dựng trang web. Mô-đun này có một API tốt có thể được sử dụng trong các hook thích hợp, v.v. để tạo thông báo khi muốn, nhưng tôi không chắc việc tích hợp Rules sẽ diễn ra như thế nào.


3

Để tích hợp thời gian thực, bạn có thể sử dụng mô-đun nodejs.

Mô-đun này tích hợp Node.js với Drupal.

Nó cung cấp một API mà các mô-đun khác có thể sử dụng để thêm các khả năng thời gian thực vào Drupal, đặc biệt cho phép đẩy các bản cập nhật cho các máy khách được kết nối mở.

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.