【发布时间】:2014-05-05 14:09:07
【问题描述】:
我有一个带有页眉、徽标和页脚的模板,但有多个内容不同的页面。
有没有办法,而不是多次复制页面来创建多个内容不同但模板相同的页面?
【问题讨论】:
-
使用像 PHP 这样的服务器端语言,您可以使用包含。
-
What are the new frames? 的可能重复项
标签: html
我有一个带有页眉、徽标和页脚的模板,但有多个内容不同的页面。
有没有办法,而不是多次复制页面来创建多个内容不同但模板相同的页面?
【问题讨论】:
标签: html
是的,你绝对可以! 然而,这涉及 php,但并不难 ;-)
因为我没有任何源代码,所以我会给你一个自己动手做的 sn-p。 将以下内容放在您希望内容出现的 html 代码中:
<?php
include('/some-location-or-url/somefile.php');
?>
其中 '/some-location-or-url/somefile.php' 是 .php 文件的路径,其中包含您希望在该位置显示的 html。
现在,我知道这只会在 php 文件中显示一段 html,但是例如通过添加这个(而不是上面的 sn-p):
<?php
if($_GET['id'] === '1')
{
include('/some-location-or-url/somefile.php');
}
if($_GET['id'] === '2')
{
include('/some-location-or-url/some-other-file.php');
}
?>
...我们可以根据 $_GET 变量有不同的内容。 (这基本上是 php 页面上的 ? 背后的内容。(EG google.com?id=1)为了使这一切正常工作,您需要将所有 .html 扩展名重命名为 .php (据我所知))
【讨论】:
只要您从基于服务器的操作(不是本地计算机或局域网)运行,您就可以使用<!--#include virtual="insertthisfile.html" -->。这允许您包含来自外部文本文件的 html 信息,该文件可以是您的模板。
您只需要包含模板信息,因为您已经声明了标题信息(如<!DOCTYPE HTML> 等。所以您的主站点上可能有一个顶部横幅。您将其从您的主站点并将其粘贴到文本文件(或 html 文件,更优选)中。然后确保将相对位置添加到上述 insderthisfile.html 位置。
当您在自己的计算机上预览它时,您将无法看到它(某些编辑器预览功能允许包含功能,但有些则不允许)。您需要将其上传到您的网络服务器并在那里查看。我建议将它放在一个特殊的目录中,而不是您的主目录中,并且在您预览后将其清除。
可以在此处找到有关包含的更多详细信息:http://www.boutell.com/newfaq/creating/include.html。
【讨论】:
我知道两种方法
使用软件来处理使用模板 html 页面的页面上的更改。例如 Dreamweaver 就是这样做的:http://webdesign.about.com/od/dreamweaverhowtos/ig/Create-a-Dreamweaver-Template/
否则,您可以使用 PHP 等服务器端语言,以便使用模板注入不同的内容 http://coding.smashingmagazine.com/2011/10/17/getting-started-with-php-templating/
【讨论】:
正如@j086691 在评论中所说,您将需要另一种语言。
一篇关于它的文章进入webdesign.about.com
在您上网超过一天后,您会注意到大多数网站的网站设计都有一个主题或模板,该主题或模板会在网站的每个页面中重复出现。在这个网站上,有几个元素以这种方式重复,包括页面的标题部分和导航。
【讨论】: