Liệu các thực thể Drupal 8 có bất kỳ sự kiện nào tôi có thể nghe không?


7

Tôi biết chúng ta có thể sử dụng hook_entity_update()hook để làm một cái gì đó khi một thực thể được cập nhật. Nhưng có một sự kiện để lắng nghe cập nhật / xóa nút, hoặc các thực thể khác như vậy cho vấn đề đó?

Câu trả lời:


14

Bạn không thể nghe một sự kiện. Bạn có thể sử dụng hook hoặc thực hiện một phương thức như postSave () trong thực thể tùy chỉnh của mình.

Dưới đây là thứ tự của hook và các sự kiện khác xảy ra trong quá trình lưu thực thể:


Vì vậy, các thực thể sẽ không gửi bất kỳ sự kiện mà tôi có thể đăng ký? Tôi sẽ phải sử dụng một cái móc?
John

1
Vâng, nhiều sự kiện cụ thể của Drupal vẫn còn trong móc. Cuối cùng, tất cả các hook sẽ được thay thế, xem drupal.org/node/1509164drupal.org/node/1972304 .
4k4

Câu trả lời chính xác. Không nhận ra hook_entity_updatekhông bao gồm các đối tượng mới. Không có móc cho mới hoặc cập nhật, phải không? Tôi phải tạo một hàm khác và làm cho cả hai hook gọi một hàm.
Dev không rõ

3

Lý tưởng nhất là bạn sẽ lắng nghe các sự kiện liên quan đến thực thể nhưng chúng chưa sẵn sàng. Xem "Thêm sự kiện cho khớp thực thể phù hợp" .

Hiện tại, nếu bạn muốn tránh xa các hook, bạn có thể sử dụng mô-đun đóng góp: Hook Event Depatcher


4
Tôi nghĩ rằng tôi đã thêm một cái gì đó vào cuộc thảo luận. Nếu bạn bỏ phiếu xuống xin vui lòng để lại một bình luận để giải thích tại sao. Điều này có thể giúp tôi cải thiện câu trả lời của tôi. Cảm ơn.
imclean

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.