web-dev-qa-db-ja.com

ページが表示されているときにメニューリンクに.currentクラスを追加する方法

私はカスタムメニューを持っています。これは、.tplファイルにHTMLリンクがあり、Webサイトでブロックとして設定されているモジュールです。 drupalを構成して、特定のページが表示されているときにスタイルを設定できるように、これらのリンクに.currentクラスを動的に追加できることを知りたいと思います。助けてくれてありがとう。

2
Michael

新しいメニューを作成してブロックにすると、現在のページにいるときに「アクティブ」というクラスが設定されます。また、親アイテムごとに「active-trail」というクラスも取得します。よりカスタムなものを作成したい場合は、URLが作成中のリンクと一致するかどうかを確認してください。

ここでは、いくつかのアイデアを得るためにメニューがどのように構築されているかを確認できます。

https://api.drupal.org/api/drupal/includes%21menu.inc/function/menu_tree_output/7

カスタムなことをしたい場合は、アクティブなクラスを設定するために、$ _ GET ['q']を作成中のリンクと比較する必要があります。

きっと、theme_itemリストも使用でき、アクティブなクラスが設定されます。

https://api.drupal.org/api/drupal/includes%21theme.inc/function/theme_item_list/7

2
Michael E

また、モジュール メニュー属性 を使用すると同時に、必要なクラスを出力する カスタムトークン を作成することもできます。

0
Oskar Calvo