Drupal: assign Block zu einem bestimmten Inhaltstyp
-
30-09-2019 - |
Frage
Ich habe eine angepasste Vorlage namens Knoten-mynode.tpl.php Jedes Mal, wenn ein Knoten des Typs mynode angefordert wird, dann Knoten-mynode.tpl.php automatisch verwendet wird.
Aber jetzt Benutzer möchte einen bestimmten Menüblock in diesem Fall sehen.
Frage: Wie kann ich einen Block zu einem bestimmten Inhaltstyp zuordnen?
Hinweis: Ich habe bei URL-Aliase mit Pathauto zu sehen begann. Ich vermute, dass eine Lösung in dieser Richtung liegt.
Lösung
Geben Sie alle Ihre mynode
Typ-Knoten eine automatische alias das beginnt mit /mynode
und verwenden Sie die Seite spezifische Sichtbarkeitseinstellungen für den Block, zeigt nur auf den Seiten, die mit /mynode/*
starten.
Andere Tipps
In Drupal 6, können Sie die Einstellungen für die Sichtbarkeit von Blöcken konfigurieren. Klicken Sie auf der ‚configure‘ Link neben dem Block im Administrator-Backend und gehen Sie folgendermaßen vor -
1) Wählen Sie die 'Show, wenn die folgenden PHP-Code gibt TRUE zurück (PHP-Modus, nur für Experten)' Option unter 'Seitenspezifische Einstellungen für die Sichtbarkeit' Tab.
2) Geben Sie den folgenden PHP-Code, der überprüft der Knotentyp des aktuellen Knotens und gibt TRUE zurück, entsprechend -
<?php
if( arg(0) != 'node' || !is_numeric(arg(1)) )
{ return FALSE;
}
//load a fully-populated Drupal node object
$temp_node = node_load(arg(1));
if( $temp_node->type == 'mynode' ) //check the node type
{ return TRUE; //display block
}
?>
Das sollte funktionieren ....
können Sie das Kontextmodul verwenden