Khi hook_field_load và hook_field_formatter_view được gọi?


7

Tôi đã triển khai hook_field_load()hook_field_formatter_view()hàm để thay thế một số ký tự trong giá trị của một trường cụ thể. Nhưng dường như họ không được gọi gì cả. Tôi đã viết một số lệnh như exit()print_r($field)trong các hook nhưng không có gì xảy ra.

Khi móc này được gọi là? (và đây có phải là cách chính xác để thay đổi giá trị trường cho chế độ xem không?)

Câu trả lời:


5

hook_field_load()hook_field_formatter_view()không thực sự móc. Chúng đúng hơn là các cuộc gọi lại chỉ có thể được sử dụng từ một mô-đun triển khai trường được đề cập. Tài liệu tại api.drupal.org cho cả hai hook không rõ ràng ở chỗ bằng cách nêu không có gì hoặc chỉ là mơ hồ:

Xác định hành vi tải tùy chỉnh cho các loại trường của mô-đun này.

Khi đi qua mã Drupal 7, bạn không bao giờ thấy cái này được gọi là hook được gọi bởi module_invoke_all()đó là một dấu hiệu rõ ràng cho các chức năng không được xử lý như hook.

hook_field_attach_load()có thể được sử dụng thay vì hook_field_load()đó là một cái móc thực sự.

Xem thêm cuộc thảo luận tại http://drupal.org/node/702586 cho vấn đề đó.

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.