环境:PHP/5.5.6
我为侧面导航栏定义了 2 个 *.html 文件,一个用于角色 A,一个用于角色 B。两者之间有相似之处,我想将相似之处合并到一个文件中,并包含不同的选项基于角色,当用户登录时。
IE:
- 侧导航栏有 5 个选项。选项 1 至选项 5。
- 角色 A 有权访问选项 1 - 选项 4。
- 角色 B 有权访问选项 1 - 选项 3 和选项 5。
当前用户登录时,调用的文件基于用户的角色,但如果角色被扩展,则每个角色都需要另一个文件。我不喜欢这种方法,因为它很臃肿,有时一个简单的更改会导致多个文件的更改 - 不好玩也不好看。
我考虑过将所有选项放在一个文件中,并使用 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>
哪种方法是最好的,或者我应该用另一种方法来解决这个问题?如果上述方法不好,为什么?
希望有人能在这个时候帮助和/或指导我。