Nowicjusz Drupala, więc popraw mnie, jeśli nie rozumiem, ale normalnie, gdy Blok jest tworzony przez Widoki, nazwa maszyny bloku jest dołączana do nazwy maszyny Widoku.
tzn. „article_listing_view-block_1”
Kiedy korzystam z funkcji block_load ($ module, $ block_id), tak to zrobiłem, aby wywołać ją w ten sposób: $ block = block_load („views”, „article_listing_view-block_1”);
Jednak z bardzo dziwnego powodu, jeden konkretny Blok z nazwą komputera:
„flag_comments_as_offensive-block_1”
ma identyfikator maszyny mieszającej:
„92a591f5a81d13a3dd5492f073f9e135”
Mówię „haszowany”, ponieważ identyfikator komputera zmienia się bezpośrednio na podstawie nazwy komputera bloku. Jeśli zmienię go z bloku_1 na blok, zmieni się, a kiedy wrócę z bloku do bloku_1, przywróci identyfikator maszyny z powrotem do powyższego. Istnieje więc bezpośrednia korelacja między nazwą komputera a generowanym przez niego „zakodowanym” identyfikatorem.
Zamiast wywoływać block_load („widoki”, „nazwa maszyny”), muszę użyć identyfikatora maszyny z haszowaniem, co nie jest problemem, ale zajęło mi dużo czasu, aby się zorientować. Sposób, w jaki to wymyśliłem, to przejście do Struktura -> Bloki i najechanie kursorem na link „Konfiguruj” i sprawdzenie adresu URL. Zauważyłem, że wszystkie moje inne bloki mają adres URL zawierający identyfikator maszyny, ale dla tego konkretnego bloku był to identyfikator maszyny mieszanej. Kiedy włożyłem identyfikator maszyny do block_load, altówka, działało to jak urok!
Sądzę więc, że pytanie sprowadza się do: Co się dzieje i dlaczego Drupal wymyślił nazwę mojej maszyny? Czy to błąd, czy błąd z mojej strony?
Widoki nazw komputerów są mieszane tylko wtedy, gdy nazwa ma ponad 32 znaki.
źródło