Detectar portada en Drupal 6 con javascript


8

Usando JavaScript en Drupal 6, ¿hay alguna forma de detectar si la página actual es la página principal? Tengo un módulo Drupal 6 personalizado que genera diferentes códigos de javascript en función de si la página actual es portada o no. Agrega un solo archivo javascript a drupal, así que necesito poner el cheque en el javascript.

El sitio se servirá a través de la memoria caché Varnish, por lo que no quiero agregar el cheque en PHP, aunque sé que habría sido mucho más fácil drupal_is_front_page().

¿Hay alguna forma nativa de Drupal para hacer esto? Las sugerencias basadas en jQuery serán muy apreciadas.

Gracias.

Respuestas:


19

En general, Drupal agrega una clase " frontal " al elemento del cuerpo de cualquier página que actúe como página principal. Si el page.tpl.php de su tema está imprimiendo las clases del cuerpo (es decir <body class="<?php echo $classes; ?>", lo que probablemente sea (debería)), entonces su javascript puede verificar si el elemento del cuerpo tiene la clase "frontal".

Entonces, suponiendo que jQuery (porque Drupal lo incluye), entonces haría:

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

Gracias @Alexander! Lo tengo funcionando. Estaba pensando demasiado complejo :) Pensé que podría haber algunas funciones nativas de Drupal cuando simplemente podría usar los selectores de jQuery.
kaustavdm

0

Imprima el resultado de drupal_is_front_page () en una variable javascript, utilizando el formato json si es necesario. Y simplemente escriba una función de JavaScript para verificarla cuando la necesite.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.