Views Blocks Rechnername wird "gehasht" (?)


20

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?

Antworten:


23

Dies liegt daran, dass das Blockmodul ein 'Delta' (Block-ID) von bis zu 32 Zeichen erwartet. Eine Ansichtsblockanzeige kann jedoch bis zu 65 Zeichen enthalten: Bis zu 32 Zeichen aus dem Ansichtsnamen und 32 Zeichen aus dem Anzeigenamen sowie ein Bindestrich '-' dazwischen.

Wenn das Delta das Limit von 32 Zeichen überschreitet, wird es von Views durch md5 gehasht - es ist keine zufällige Zeichenfolge. Sie können es problemlos für CSS- und jQuery-Selektoren verwenden.


Der größte Teil meiner Antwort kommt von drupal.org/node/346602
Capi Etheriel,

Vielen Dank! Ich wusste, dass es kein Zufall war, aber ich wusste auch nicht genau, was los war. Das erklärt es :).
Peter

4

Maschinennamen von Ansichten werden nur gehasht, wenn der Name länger als 32 Zeichen ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.