環境: PHP/5.5.6
定義されたサイド ナビゲーション バー用に 2 つの *.html ファイルがあり、1 つは役割 A 用、もう 1 つは役割 B 用です。この 2 つには類似点があり、類似点を 1 つのファイルにまとめて、さまざまなオプションを含めたいと思います。ユーザーがログインしたときの役割に基づいて。
すなわち:
- サイド ナビゲーション バーには 5 つのオプションがあります。オプション 1 からオプション 5。
- ロール A には、オプション 1 ~ オプション 4 へのアクセス権があります。
- 役割 B は、オプション 1 - オプション 3 およびオプション 5 にアクセスできます。
現在、ユーザーがログインすると、呼び出されるファイルはユーザーのロールに基づいていますが、ロールが拡張されると、各ロールよりも別のファイルが必要になります。私はこのアプローチが好きではありません.
すべてのオプションを 1 つのファイルに配置し、CSS display:block または :none を javascript / jquery と共に使用して、必要な機能をユーザーに表示することを検討しました。これが最善のアプローチかどうかはわかりません。項目は表示されませんが、ソース コードを表示すると、これらのオプションの html が表示されます。
また、TinyButStrong を使用して、ユーザーの役割に基づいて要素をリストに追加し、その要素を独自のファイルに含めることも検討しました。このアプローチがどのように機能するかはわかりませんが、サイド ナビゲーション メニューで単一の項目をマージ (追加) しようとしています。現在、以下に詳述するように、TBS を使用して単一の要素ではなく div 全体を含めています。
つまり、サイド ナビゲーション オプションの html ファイルに含まれるもの
<li><a href="/page5">Option 5</a></li> <!-- another file would have option 4 -->
ベースサイドナビ *html
<ul>
<li><a href="/page1">Option 1</a></li>
<li><a href="/page2">Option 2</a></li>
<li><a href="/page3">Option 3</a></li>
<!-- insert Option 5 or Option 4 here -->
</ul>
どのアプローチが最適ですか、またはこれにアプローチする別の方法はありますか? 上記のアプローチが良くない場合、なぜですか?
この時点で誰かが私を助けたり、導いたりしてくれることを願っています。