Ohne die URL zu überprüfen, möchte ich wissen, ob die aktuelle Seite eine Knotenseite ist. Wir planen die Verwendung von URL-Aliasen, daher möchten wir uns nicht auf die Struktur '/ node / *' verlassen.
Gibt es eine Seitenvariable oder etwas, das auf eine Knotenseite hinweist?
$route_match->getRouteName() == 'entity.node.revision'
, um auch an Revisionen zu arbeiten.In Ihrem eigenen Modul denke ich, ist der empfohlene Weg
quelle
In der Seitenvorlage ist bereits eine Variable für den Knoten verfügbar, die Sie in twig verwenden können.
Um festzustellen, ob die aktuelle Seite ein Knoten ist, können Sie überprüfen, ob
node
Folgendes vorhanden ist:page.html.twig
Dies ist möglich, da sich dieser Code im Kern befindet:
Dies funktioniert für / node / [id] - und URL-Aliase.
quelle
core/includes/theme.inc
.Die aktuellen Antworten funktionieren nicht für Vorschauen oder Überarbeitungen. Normalerweise möchten Sie jedoch, dass diese Logik auch bei Voransichten oder Überarbeitungen ausgelöst wird. Besonders auf der Themenebene, wo Sie bestenfalls sehen sollten, wie der Knoten aussehen wird, nachdem er gespeichert und / oder veröffentlicht wurde.
Hier ist also ein Ausschnitt, der den aktuellen Knoten abruft, unabhängig davon, ob Sie den vollständigen Knoten oder seine Vorschau oder seine Revision anzeigen. Dies kann in eine Hilfsfunktion gestellt werden, unter
MYMODULE/src/Utils
der zugegriffen werden kann oder um es zu einem Dienst zu machen.Übrigens gilt das Gleiche für die
node_is_page()
Funktion, die derzeit bei Revisionen oder Vorschauen nicht funktioniert. Ich habe bereits ein Problem geöffnet und einen Patch unter https://www.drupal.org/project/drupal/issues/3005029 bereitgestellt .quelle