Phát hiện trang đầu trong Drupal 6 bằng javascript


8

Sử dụng javascript trong Drupal 6, có cách nào để phát hiện xem trang hiện tại có phải là trang đầu không? Tôi có một mô-đun Drupal 6 tùy chỉnh, xuất ra các mã javascript khác nhau dựa trên việc trang hiện tại có phải là trang trước hay không. Nó thêm một tệp javascript vào drupal, vì vậy tôi cần đặt kiểm tra vào javascript.

Trang web sẽ được phục vụ thông qua bộ đệm Varnish, vì vậy tôi không muốn thêm kiểm tra trong PHP, mặc dù tôi biết rằng điều đó sẽ dễ dàng hơn với drupal_is_front_page().

Có cách nào để làm điều này không? Đề xuất dựa trên jQuery sẽ được đánh giá cao.

Cảm ơn.

Câu trả lời:


19

Nói chung, Drupal thêm một lớp " phía trước " vào thành phần cơ thể của bất kỳ trang nào đóng vai trò là trang đầu. Nếu page.tpl.php của chủ đề của bạn đang in các lớp cơ thể (nghĩa là <body class="<?php echo $classes; ?>"), mà rất có thể là (nó nên), thì javascript của bạn có thể kiểm tra xem phần tử cơ thể có lớp "phía trước" hay không.

Vì vậy, giả sử jQuery (vì Drupal bao gồm nó) thì bạn sẽ làm:

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

Cảm ơn @Alexander! Nó đã làm việc Tôi đã suy nghĩ quá phức tạp :) Nghĩ rằng có thể có một số hàm Drupal riêng khi tôi chỉ có thể sử dụng các bộ chọn của jQuery.
kaustavdm

0

In kết quả của drupal_is_front_page () vào một biến javascript, sử dụng định dạng json nếu cần thiết. Và chỉ cần viết một hàm javascript để kiểm tra nó khi bạn cần.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.