Erkennen Sie die Startseite in Drupal 6 mit Javascript

8

Gibt es eine Möglichkeit, mithilfe von Javascript in Drupal 6 festzustellen, ob die aktuelle Seite die Startseite ist? Ich habe ein benutzerdefiniertes Drupal 6-Modul, das verschiedene Javascript-Codes ausgibt, je nachdem, ob es sich bei der vorliegenden Seite um eine Titelseite handelt oder nicht. Es fügt Drupal eine einzelne Javascript-Datei hinzu, daher muss ich die Prüfung in das Javascript einfügen.

Die Site wird über den Varnish-Cache bereitgestellt, daher möchte ich die Prüfung in PHP nicht hinzufügen, obwohl ich weiß, dass dies mit viel einfacher gewesen wäre drupal_is_front_page().

Gibt es eine Drupal-native Möglichkeit, dies zu tun? jQuery-basierte Vorschläge werden sehr geschätzt.

Vielen Dank.

kaustavdm
quelle

Antworten:

19

Im Allgemeinen fügt Drupal dem Body-Element jeder Seite, die als Startseite fungiert, eine " Front " -Klasse hinzu . Wenn die page.tpl.php Ihres Themas die Body-Klassen druckt (dh <body class="<?php echo $classes; ?>"), was höchstwahrscheinlich ist (sollte), kann Ihr Javascript überprüfen, ob das Body-Element die "Front" -Klasse hat.

Wenn Sie also jQuery annehmen (weil Drupal es enthält), würden Sie Folgendes tun:

if ($('body').hasClass('front')) { // do stuff...}
Alexander
quelle
Danke @Alexander! Habe es geschafft. Ich habe zu komplex gedacht :) Ich dachte, es könnte einige native Drupal-Funktionen geben, wenn ich einfach die Selektoren von jQuery verwenden könnte.
Kaustavdm
0

Drucken Sie das Ergebnis von drupal_is_front_page () in eine Javascript-Variable und verwenden Sie gegebenenfalls die JSON-Formatierung. Und schreiben Sie einfach eine Javascript-Funktion, um sie bei Bedarf zu überprüfen.


quelle