JavaScriptを使用してDrupal 6のフロントページを検出する


8

Drupal 6でJavaScriptを使用して、現在のページがフロントページかどうかを検出する方法はありますか?現在のページがフロントページであるかどうかに基づいて異なるJavaScriptコードを出力するカスタムDrupal 6モジュールがあります。drupalに1つのjavascriptファイルを追加するため、JavaScriptにチェックを入れる必要があります。

サイトはVarnishキャッシュを介して提供されるため、PHPでチェックを追加したくありませんが、を使用する方がずっと簡単だったでしょうdrupal_is_front_page()

これを行うDrupalネイティブの方法はありますか?jQueryベースの提案は高く評価されます。

ありがとう。

回答:


19

一般に、Drupalは、フロントページとして機能しているページのbody要素に「フロント」クラスを追加します。テーマのpage.tpl.phpがボディクラス(つまり<body class="<?php echo $classes; ?>")を出力している場合(そうである可能性が高い)、JavaScriptはボディ要素に「フロント」クラスがあるかどうかを確認できます。

したがって、(Drupalに含まれているため)jQueryを想定すると、次のようになります。

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

@Alexanderに感謝!うまくいきました。私はあまりにも複雑に考えていました:)単純にjQueryのセレクターを使用できるときは、いくつかのネイティブDrupal関数があるかもしれないと思いました。
kaustavdm 2011

0

drupal_is_front_page()の結果をjavascript変数に出力し、必要に応じてjson形式を使用します。そして、必要なときにそれをチェックするJavaScript関数を書くだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.