Tôi có một thực thể tùy chỉnh. Có một cuộc gọi lại truy cập được xác định trong hook_entity_info()
và nó được gọi khi tôi truy cập thực thể. Ngoài ra trong chế độ xem khi tôi chọn hiển thị các thực thể được hiển thị, thực thể chỉ được hiển thị khi người dùng được phép nhìn thấy thực thể.
Tuy nhiên, khi tôi thay đổi chế độ xem để hiển thị 'trường' thay vì 'thực thể được hiển thị', cuộc gọi lại truy cập sẽ không còn được gọi và người dùng có thể thấy tất cả các trường (và thuộc tính) của thực thể, bất kể mọi quyền. Nhìn vào truy vấn được thực hiện, điều này có ý nghĩa, các giá trị trường được nối vào và thực thể không bao giờ thực sự được tải.
Vậy, làm thế nào một người nên thực hiện quyền truy cập thực thể cho các khung nhìn khi hiển thị các trường (trong Drupal 7)?
Tôi đã tìm thấy Cách kiểm tra loại thực thể trong Chế độ xem khi sử dụng hook_field_access? , nhưng tôi giả sử rằng chỉ hoạt động cho các trường đã tham gia chứ không phải cho các thuộc tính thực thể cơ sở, vì vậy đó sẽ chỉ là một phần của giải pháp.
nodes
Drupal.