2014-01-30 24 views
1

这或多或少在网络上的各个地方得到回答,但我有一点麻烦转向什么我发现转化成有用的信息排序。选项使用相同的页眉/页脚/导航/等。整个网站?

我收集了这个问题有多种解决方案(问题是整个网站使用相同的页眉和相同的导航,并在他们的数百页上使用相同的页脚,但是如果他们想要更改它有点,他们将不得不手动改变每一个页面)。

一个我认为是使用Dreamweaver模板,将在被改变,自动反映在每一个页面这些变化的解决方案。我不在乎太多的这种解决方案,但是,因为它取决于在Dreamweaver上,我可能并不总是因为某种原因使用Dreamweaver。另外,每一个页面都必须重新上传。这个解决方案对我来说不是很有吸引力。

另一种解决方案,我发现使用PHP脚本服务插入一个PHP文件(即本质上是页眉或页脚或导航布局)到每一页。而当您更改PHP文件时,更改反映在每个页面中。

最有吸引力的解决方案,我发现到目前为止,这个计算器的问题中提到:

How to make same layout for all web pages

它提到简单地使用SSI包含包含您想保持一致,任何内容的HTML页面整个你的网站很多页面。这与PHP解决方案的概念相同;一个文件,当更新时,这些更改反映在每个页面上。只是它似乎是一个更清洁/更简单,更容易的解决方案。

出了三中,SSI是倒手,我最有利的,但是否有其他解决办法?理想情况下,我想是一个解决方案,让我:

  • 进行更改到一个源文件,该文件将反映在所有的页面
  • 请允许我在本地查看更改,而无需上传到一个Web服务器或无需运行本地Web服务器
  • 让我很容易在主导航指定当前页面

我想这是所有我在寻找,我无法想象没有适合我所寻找的解决方案。最后一个项目,允许我指定导航中的当前页面,这是我一直试图弄清楚的。我当前知道指定一个特定的菜单项作为当前页面的唯一方法是,在html中,为该特定菜单的条目(IE:HTML中的“Home”页面的.current类)指定一个类。然后我为.current配置的CSS样式将反映在页面上。但是这依赖于每个页面上的菜单,因为我必须将.current类移到每个相应的菜单项。当我打字的时候,我开始意识到与我的网站结构设计有关的其他几个问题......主要是,我没有想到我将如何构建子菜单页面以及它们的内容......呃,但我可以通过一些仔细的想法和计划来弄清楚这一点:P和这个问题真的无关,我只是想把它扔到那里,因为它可能已经被问到,或者可能会证明一些有用的信息^ _^

非常感谢您!

谁downrated我的问题,请解决这个问题。尽管我确信你认为这是一个多余的帖子,并且完全没有用处,但是在浏览几个相同或类似问题后,我已经找到了我之前回答的许多问题。对于类似的问题,你可能会略有不同的观点,对可能的解决方案有不同的看法,这是非常有用的。另外,如果给出例子,你会发现不同的例子,这给了你更多的资源。我不认为以任何理由降低我的问题是不公平的。我认为这个问题只是可能有用而且没有伤害。谢谢,这是非常赞赏:)

+2

这确实是什么PHP的... –

+2

PHP包括会让你通过你问的大部分。此外,它非常整洁,性感,简单等。如果您没有经验且您的要求很低,您可以基本上只使用PHP。结果将是一个只包含HTML的PHP​​文件,或主要。 –

+1

同意,PHP是我会走的路。 – danmullen

回答

0

我强烈使用PHP这个建议更换,但也许你可以使用jQuery通过加载一个div内外部页面要做到这一点,是这样的:

$(document).ready(function() { 
    $("#div-that-will-load-").load('page_contato.php'); 
}); 

这样您需要为HEADER,FOOTER,MENU保存相同的代码,并将其保存在不同的文件中,并随时随地轻松调用。

+0

这听起来像PHP是最好的方式去,所以我要去与此。每个人都非常快地建议它,这是令人放心的。我希望有另一种解决方案,考虑到我喜欢能够进行更改并在本地进行检查的便利性,但如果这是最好的方法,那就这样吧!我发现这个教程:http://www.apaddedcell.com/how-automatically-include-your-header-navigation-and-footer-every-page 这似乎概述了如何做到这一点,所以我接下来会开始。谢谢! – Soundfx4

3

SSI仍然是您的答案。首先,在本地系统上运行Web服务器很容易。我绝不会建议没有一个网页开发。花20分钟运行http://nginx.org/,它将解决您可能正在从文件系统测试您的站点的其他问题。

SSI已经不仅仅是包括(了解更多关于他们通过谷歌搜索它)例如其他很多功能,可以显示当前页面,如下所示:

<ul> 
<!--# if expr="${REQUEST_URI} = \/" --> 
<li>Home 
<!--# else --> 
<li><a href="/">Home</a> 
<!--# endif --> 

<!--# if expr="${REQUEST_URI} = \/test.shtml" --> 
<li>Test 
<!--# else --> 
<li><a href="/test.shtml">Test</a> 
<!--# endif --> 
</ul> 

虽然表明使用JavaScript当前页面也是合理的。

+0

你知道吗?你是绝对正确的。我之前建立了一个网络服务器,这并不难,我可以很容易地将服务器的根目录设置到我的网站的目录中,当我保存它时,BOOM ...我只需要打开它来测试它。不过,我必须问,这里的大多数人都建议使用PHP插入。什么是你喜欢通过PHP插入SSI?有没有什么是SSI可以做的,PHP无法做或反之亦然?谢谢! – Soundfx4

+1

好问题。 PHP可以比SSI做得更多,因此大多数人都会选择“厨房水槽”解决方案。我出于同样的原因避免它 - 我喜欢用最简单的技术来解决我的问题。最近几年,我停止在我的HTML文档(旧的服务器页面样式<?php或<%标记)中使用PHP,并且我的代码库的清晰度显着提高。我仍然使用PHP构建REST Web服务,并使用Ajax和SSI将它们与主HTML文档集成。这有点不正统,但它效果很好。 –

+0

然后,这让我想再次倾向于SSI作为解决方案。老实说,我仍然需要学习PHP,但是如果SSI最简单,并且允许我指出当前页面,那么我没有理由不使用它! :) 谢谢! – Soundfx4

相关问题