Một người mới chơi Drupal, vì vậy hãy sửa cho tôi nếu hiểu sai của tôi, nhưng thông thường, khi một Khối được tạo bởi Lượt xem, tên máy của khối được gắn vào tên máy của Lượt xem.
tức là "article_listing_view-block_1"
Khi sử dụng hàm block_load ($ module, $ block_id), cách tôi đã thực hiện là gọi nó như vậy: $ block = block_load ("lượt xem", "article_listing_view-block_1");
Tuy nhiên, vì một số lý do rất kỳ lạ, một Khối cụ thể có tên máy:
"flag_comments_as_offensive-block_1"
có ID máy băm là:
"92a591f5a81d13a3dd5492f073f9e135"
Tôi nói "băm" vì ID máy thay đổi dựa trên tên máy của khối. Nếu tôi thay đổi nó từ khối_1 thành khối, nó sẽ thay đổi và khi tôi hoàn nguyên từ khối này sang khối_1, nó sẽ hoàn nguyên ID máy trở lại ở trên. Vì vậy, có một mối tương quan trực tiếp giữa tên máy và ID "băm" mà nó tạo ra.
Thay vì gọi block_load ("lượt xem", "tên máy"), tôi phải sử dụng ID máy băm, đây không phải là vấn đề nhưng tôi đã mất nhiều thời gian để tìm ra. Cách tôi tìm ra là đi vào Cấu trúc -> Khối và di chuột qua liên kết "Định cấu hình" và xem URL. Tôi nhận thấy rằng tất cả các Khối khác của tôi đều có một URL bao gồm ID máy của nó, nhưng đối với khối cụ thể này, đó là ID máy được băm. Khi tôi đặt ID máy vào block_load, viola, nó hoạt động như một bùa mê!
Vì vậy, tôi đoán câu hỏi sôi nổi: Chuyện gì đang xảy ra, và tại sao Drupal lại băm tên máy của tôi? Đây là một lỗi, hoặc một lỗi về phía tôi?