私のスライサーから受け取ったテンプレートに添付されているメニュー項目に色付けするためのjavascriptファイルがあります。 これで、テンプレートをDrupalテンプレートに変換する必要があります。 javascriptは、アイテムの順番に応じて、すべてのメニューアイテムにIDが付いているという事実に基づいています。 Drupalでは、メニュー項目にはクラス(メニュー341、メニュー342など)しかありません。私はjavascriptを調整することができるので、クラスごとにメニュー項目を取得することができますが、実際にはできません。なぜなら、ファイル全体を完全に動かす必要があるからです。drupalメインメニューのメニュー項目にIDを追加
「メニューアイテム-1」、「メニューアイテム2」などのメインメニューアイテムにIDを追加できますか? template.tpl.phpでこれを行うか、page.tpl.phpの出力を直接変更する必要がありますか?
ありがとうございました。
編集: 私はちょうどこれを修正する方法がわからないので、私は絶望的です。メニュー項目の色を変える別の方法はありますか? 私が使用しているスクリプトは、上向きのid(custom-menu-item-id-x)のメニュー項目を選択し、IDの 'x'に関連付ける配列の背景を与えます。 4色:アイテム1のカラー1、アイテム2のカラー2、アイテム5のカラー1など。 これを修正する別の方法はありませんか? jQueryに昇順で自動的に選択させることはできませんでした(最初の項目は最初の背景、2番目の項目の2番目の背景などを取得します)。アイデアを思いついてください。私はすべて、私の意見で試しました。
これは私の現在のスクリプトです:
//Sequence of the background colors from the menu items, from left to right.
var backgrounds = ["blue", "green", "pink", "purple"];
//Gives the menu items a style when hovering over it, in the sequence of the setting in the variable 'backgrounds', on top.
jQuery(document).ready(function MenuColor($){
for (var i = 0; i <= 10 ; i++) {
document.getElementById("custom-menu-item-id-" + (i + 1)).onmouseover = (function(valueOfI){ return function() {
this.style.background = "url('images/" + backgrounds[(valueOfI % backgrounds.length)] + ".jpg')";
}; })(i);
var ActiveLi = $('.active').attr('id');
if("custom-menu-item-id-" + (i + 1) != ActiveLi) {
document.getElementById("custom-menu-item-id-" + (i + 1)).onmouseout = function() {
this.style.background = 'none';
}
}
}
});
私はすでにそのような答えを期待していました。しかし、私は宿題をしましたが、適切な答えを探しましたが、まだ答えはありません。 最初に:メインメニューにのみ必要です。 2番目:私はPHPを知らないので、多くのトピックが想定するほど簡単ではありません。 – jroeleveld
そして.... [this](http://drupal.org/node/310356)のトピック(Drupalフォーラム)では、私と他のいくつかの人々がこの問題に対する解決策を求めています。 )答えを与える...私はこの問題を扱う唯一の人ではない。 – jroeleveld
私はこれらの種類の答えが役に立たないと思います...回答がリンクにあっても、コメントのページを検索することなくそれを見ることができるはずです – Jukebox