Nama mesin Views Block sedang "hash" (?)


20

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?

Jawaban:


23

Ini karena modul blok mengharapkan 'delta' (id blok) hingga 32 karakter. Tetapi tampilan blok tampilan dapat memiliki hingga 65 karakter: hingga 32 karakter dari nama tampilan dan 32 karakter dari nama tampilan dan tanda hubung '-' di antara mereka.

Ketika delta melebihi batas 32 karakter, Views akan memotongnya melalui md5 - itu bukan string acak. Anda dapat menggunakannya dengan aman untuk pemilih CSS dan jQuery.


sebagian besar jawaban saya berasal dari drupal.org/node/346602
Capi Etheriel

Terima kasih! Saya tahu itu tidak acak, tetapi saya juga tidak yakin apa yang sedang terjadi. Ini menjelaskannya :).
Peter

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.