Ist es möglich, Parameter programmgesteuert an einen Block zu übergeben?
8
Gemäß der anderen Antwort sind Blöcke "dumm" und können keine Argumente "übergeben" werden. Sie können jedoch Argumente aus dem Kontext der Seite abrufen, z. B. Knoten-IDs, aktueller Benutzer usw.
Sie haben wirklich zwei "einfache" Möglichkeiten:
Sie können nichts programmgesteuert an einen Block AFAIK übergeben. Sie können zulassen, dass ein Block konfiguriert werden kann (mithilfe von hook_block_configure in D7). Alternativ können Sie Ihre eigene Themenfunktion erstellen und Argumente an diese übergeben. Was versuchst du zu tun?
quelle
Kontextfilter konfigurieren Wählen Sie "Standardwert bereitstellen" type => "PHP-Code" und verwenden Sie das gewünschte Argument. Beispiel: return arg (1);
quelle
Für den speziellen (aber weit verbreiteten) Fall, in dem Ihr Block eine Anzeige einer Ansicht ist, können Sie
views_embed_view
den Block mit Parametern rendern, die er über die Kontextfilter der Ansicht erhält (dh normalerweise über die URL).Zum Beispiel:
Alle Parameter nach der Sekunde werden als Kontextfilterwerte an den Block übergeben.
Quelle: Aus dieser Antwort von David Thomas , lizenziert CC-BY-SA 3.0, umgeschrieben
quelle