Rileva la prima pagina in Drupal 6 con javascript


8

Utilizzando JavaScript in Drupal 6, c'è un modo per rilevare se la pagina attuale è la prima pagina? Ho un modulo Drupal 6 personalizzato che genera diversi codici javascript in base al fatto che la pagina corrente sia la prima pagina o meno. Aggiunge un singolo file javascript a drupal, quindi ho bisogno di mettere il segno di spunta nel javascript.

Il sito verrà servito tramite Varnish cache, quindi non voglio aggiungere il check in PHP, anche se so che sarebbe stato molto più semplice drupal_is_front_page().

C'è un modo nativo di Drupal per farlo? I suggerimenti basati su jQuery saranno molto apprezzati.

Grazie.

Risposte:


19

Generalmente Drupal aggiunge una classe " frontale " all'elemento body di qualunque pagina agisca come prima pagina. Se page.tpl.php del tuo tema sta stampando le classi di body (cioè <body class="<?php echo $classes; ?>"), che molto probabilmente è (dovrebbe), allora il tuo javascript può controllare se l'elemento body ha la classe "front".

Quindi, supponendo che jQuery (perché Drupal lo includa), faresti:

if ($('body').hasClass('front')) { // do stuff...}

Grazie @Alexander! Ha funzionato. Stavo pensando in modo troppo complesso :) Ho pensato che ci fossero alcune funzioni native di Drupal quando potevo semplicemente usare i selettori di jQuery.
Kaustavdm,

0

Stampa il risultato di drupal_is_front_page () in una variabile javascript, usando la formattazione json se necessario. E basta scrivere una funzione JavaScript per controllarla quando ne hai bisogno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.