如果这是一个愚蠢的问题,我会提前道歉,但我对Bootstrap和UI设计一般都不熟悉。
话虽这么说,我的问题是左侧导航的维护。假设我的导航列出了四个链接......对我来说,这将是四个独立的源HTML文件...每个都有自己的导航副本。因此,如果我在我的网站上添加第五页,我必须编辑五个文件(原始四个用于更新导航+新页面)。
在我的搜索中,似乎没有好的方法来获取HTML片段(以及我希望这些内容在webserver / appserver之外运行)。此外,我的真实场景可能接近15页,因此只需将其作为一个大文件,然后使用jquery显示/隐藏链接的内容的想法可能不是一个选项。 Bootstrap中是否有任何组件可以帮助解决这个问题?或者一般的任何工具?
我已经考虑过编写一个可以生成网站的预处理器,但我全都是为了使用其他人首先发明的轮子!
谢谢!
答案 0 :(得分:1)
不幸的是,没有办法在HTML文档中包含HTML代码或其他文件的碎片。这是HTML的一次失败,并且难以在所有页面上保持所有数据相同。我发现这样做的最好方法是在一个页面中通过AJAX加载所有页面(例如,单击一个按钮,将html文件加载到主内容部分)或者使用PHP来获得一个主索引文件包含基于$_GET['']
变量的内容。
这看起来有点糟糕,因为Bootstrap就像是“一石二鸟”的框架,但它主要是静态的。
答案 1 :(得分:1)
你是对的,你会重新发明轮子来构建自己的预处理器,因为有一些事情已经做得很好。当然,这可以在像wordpress这样的完整内容管理平台上完成,也可以通过编写自己的PHP等来完成。
您可能希望从签出Jekyll开始,这是一个基于ruby的预处理器,可以组装一个站点。它使用Liquid来创建模板(你也可以使用没有Jekyll的纯液体)。在每个需要导航栏的页面上,您只需添加
{% include navbar %}
然后有一个描述导航栏的小html片段。然后你只需要在一个地方编辑html。 Jekyll有一个活跃的社区,Jekyll-bootstrap可能是学习Jekyll入门的一种简单方法,特别是如果你已经知道/计划使用twitter-bootstrap。