Ein Drupal-Neuling, also korrigieren Sie mich, wenn mein Verständnis falsch ist. Wenn jedoch ein Block von Views erstellt wird, wird normalerweise der Computername des Blocks an den Computernamen der Views angehängt.
dh "article_listing_view-block_1"
Wenn ich die block_load-Funktion ($ module, $ block_id) verwende, benenne ich sie folgendermaßen: $ block = block_load ("views", "article_listing_view-block_1");
Doch aus irgendeinem sehr seltsamen Grund, einen bestimmten Block mit dem Maschinenname:
"flag_comments_as_offensive-block_1"
hat eine Hash-Rechner-ID von:
92a591f5a81d13a3dd5492f073f9e135
Ich sage "hashed", weil sich die Rechner-ID direkt anhand des Rechnernamens des Blocks ändert. Wenn ich es von Block_1 in Block_1 ändere, wird es sich ändern, und wenn ich von Block_1 zu Block_1 zurückkehre, wird die Rechner-ID auf das oben Gesagte zurückgesetzt. Es besteht also eine direkte Korrelation zwischen dem Computernamen und der generierten "Hash" -ID.
Anstatt block_load ("views", "machine name") aufzurufen, muss ich die ID der gehashten Maschine verwenden, was kein Problem ist, aber es hat lange gedauert, bis ich es herausgefunden habe. Die Art und Weise, wie ich es herausgefunden habe, war, in Struktur -> Blöcke zu gehen und über den Link "Konfigurieren" zu fahren und die URL zu betrachten. Ich habe festgestellt, dass alle meine anderen Blöcke eine URL haben, die ihre Rechner-ID enthält, aber für diesen bestimmten Block war es die gehashte Rechner-ID. Sobald ich die Maschinen-ID in block_load, viola, eingegeben habe, hat es wie ein Zauber funktioniert!
Ich denke also, die Frage lautet: Was ist los und warum hat Drupal meinen Computernamen? Ist das ein Fehler oder ein Fehler von meiner Seite?
Maschinennamen von Ansichten werden nur gehasht, wenn der Name länger als 32 Zeichen ist.
quelle