私の問題はjQueryで解決できると思います。
状況:
特定の CMS (フォトストア スクリプト) があります。カテゴリメニュー項目があります。カテゴリはユーザーが追加でき、管理者が移動および削除できます。そのため、構造と階層が変化しています。出力はカスケード UL/LI になります。コア PHP ファイルを変更することはできませんし、変更するつもりもないので、UL/LI を解析し、必要なブートストラップ CSS クラスを追加することは良い代替手段です。それは理にかなっていますか?
ヒント:
メインナビはUL/LIそのもの!このメイン ナビゲーションには、3 つの UL/LI サブメニュー項目が含まれています。次のカテゴリの UL はその 1 つです。特別なクラスも ID もありません。他の 2 つのサブメニューを傷つけたり触れたりしないでください。
主要なサンプル カテゴリ メニュー構造は次のようになります。
<ul>
<li><a href="/category/nature.html" title="Nature">Nature</a>
<ul>
<li><a href="/category/animals.html" title="Animals">Animals</a>
<ul>
<li><a href="/category/birds.html" title="Birds">Birds</a></li>
<li><a href="/category/cats.html" title="Cats">Cats</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="/category/test.html" title="Test">Test</a></li>
<li><a href="/category/cities.html" title="Cities">Cities</a>
<ul>
<li><a href="/category/architecture.html" title="Architecture">Architecture</a</li>
<li><a href="/category/firenze.html" title="Firenze">Firenze</a></li>
<li><a href="/category/venezia.html" title="Venezia">Venezia</a></li>
</ul>
</li>
<li><a href="/category/movies.html" title="Movies">Movies</a></li>
<li><a href="/category/sounds.html" title="Sounds">Sounds</a></li>
<li><a href="/category/illustrations.html" title="Illustrations">Illustrations</a>
<ul>
<li><a href="/category/vector.html" title="Vector">Vector</a></li>
</ul>
</li>
<li><a href="/category/misc.html" title="Misc">Misc</a></li>
</ul>
質問:
クライアント側で Bootstrap CSS クラスを適用することは可能ですか? 動的構造でも?http://twitter.github.com/bootstrap/components.html#dropdowns
アイデア 1 とタスク:
このクラスは FIRST UL でのみ必要です。コア スクリプトは出力ルーチンで 1 つの UL を使用するため、最初に追加することが重要です。
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
サブカテゴリ LI に新しい UL が含まれている場合は、次のものが必要です。
<li class="dropdown-submenu">
ブートストラップ サブメニューには追加のリンク (a-tag) が必要なようです。UL サブメニューの前に挿入されます。
ブートストラップ サンプルの構造は次のようになります。
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
...
<li class="dropdown-submenu">
<a tabindex="-1" href="#">More options</a>
<ul class="dropdown-menu">
...
</ul>
</li>
</ul>
アイデア 2 とタスク:
アイデア 1 が複雑すぎる、または予測できない場合。より単純なソリューションで機能するはずです。たった1つのレベルとドロップダウン効果。そのため、メニュー全体が展開されたツリーとして表示されます。