Deteksi halaman depan di Drupal 6 dengan javascript

8

Menggunakan javascript di Drupal 6, apakah ada cara untuk mendeteksi apakah halaman ini adalah halaman depan? Saya memiliki modul Drupal 6 khusus yang menampilkan kode javascript berbeda berdasarkan apakah halaman ini adalah halaman depan atau tidak. Ia menambahkan file javascript tunggal ke drupal, jadi saya perlu memberi tanda centang pada javascript.

Situs ini akan dilayani melalui tembolok Varnish, jadi saya tidak ingin menambahkan cek dalam PHP, meskipun saya tahu itu akan lebih mudah dengan drupal_is_front_page().

Apakah ada cara Drupal-asli untuk melakukan ini? Saran berdasarkan jQuery akan sangat dihargai.

Terima kasih.

kaustavdm
sumber

Jawaban:

19

Secara umum Drupal menambahkan kelas " depan " ke elemen tubuh halaman apa pun yang bertindak sebagai halaman depan. Jika page.tpl.php tema Anda mencetak kelas tubuh (yaitu <body class="<?php echo $classes; ?>"), yang kemungkinan besar adalah (seharusnya), maka javascript Anda dapat memeriksa apakah elemen tubuh memiliki kelas "depan".

Jadi, dengan asumsi jQuery (karena Drupal memasukkannya) maka Anda akan melakukan:

if ($('body').hasClass('front')) { // do stuff...}
Alexander
sumber
Terima kasih @Alexander! Sudah bekerja. Saya berpikir terlalu rumit :) Pikir mungkin ada beberapa fungsi Drupal asli ketika saya bisa menggunakan penyeleksi jQuery.
kaustavdm
0

Cetak hasil drupal_is_front_page () ke dalam variabel javascript, menggunakan format json jika perlu. Dan tulis saja fungsi javascript untuk memeriksanya saat Anda membutuhkannya.


sumber