Seorang pemula Drupal, jadi perbaiki saya jika pemahaman saya salah, tetapi biasanya, ketika sebuah Blok dibuat oleh Views, nama mesin dari blok ditambahkan ke nama mesin Views '.
yaitu "article_listing_view-block_1"
Saat menggunakan fungsi block_load ($ module, $ block_id), cara saya melakukannya adalah dengan menyebutnya sebagai berikut: $ block = block_load ("views", "article_listing_view-block_1");
Namun, untuk beberapa alasan yang sangat aneh, satu Blok tertentu dengan nama mesin:
"flag_comments_as_offensive-block_1"
memiliki ID mesin hash:
"92a591f5a81d13a3dd5492f073f9e135"
Saya mengatakan "hash" karena ID mesin berubah berdasarkan langsung pada nama mesin dari blok. Jika saya mengubahnya dari block_1 ke blok, itu akan berubah, dan ketika saya kembali dari blok ke block_1, itu akan mengembalikan ID mesin kembali ke yang di atas. Jadi ada korelasi langsung antara nama mesin dan ID "hash" yang dihasilkannya.
Alih-alih memanggil block_load ("tampilan", "nama mesin"), saya harus menggunakan ID mesin hash, yang tidak menjadi masalah tetapi butuh waktu lama untuk mencari tahu. Cara saya menemukannya adalah dengan masuk ke Struktur -> Blok dan arahkan tautan "Konfigurasi" dan lihat URL. Saya perhatikan bahwa semua Blok saya yang lain memiliki URL yang menyertakan ID mesinnya, tetapi untuk blok khusus ini, itu adalah ID mesin hash. Begitu saya memasukkan ID mesin ke block_load, viola, itu berfungsi seperti pesona!
Jadi saya kira pertanyaannya adalah: Apa yang terjadi, dan mengapa Drupal membuat nama mesin saya? Apakah ini bug, atau kesalahan pada bagian saya?