2

我对网络开发相当陌生,我一直在研究什么是在多个网页中重用导航/横幅的最佳方法,但我一直无法找到一个确凿的答案。

我想做的事: 在此处输入图像描述

网站内容几乎完全是静态的。我不需要 CMS 或类似的东西。这是一个非常简单的网站。

我想知道的:

保留横幅/导航但更改内容的最佳方法是什么?

  • HTML + CSS?似乎有几种不同的方法可以实现它;例如使用服务器端包含或使用 CSS 隐藏页面。
  • 使用 JS/jQuery
  • ASP.NET 母版页。这目前似乎是最好的方法,尽管对于这样一个基本站点来说似乎有点过分了。
  • PHP:例如在每个页面中包含标题。
  • 还有什么?

那么保持页面之间导航的最佳选择是什么?

谢谢你的帮助。

4

4 回答 4

2

对于一个非常简单的网站,创建一个模板页面,template.php为您的内容创建文件夹,然后为您网站中的每个页面指定要包含的内容,然后包含模板。

例如:

//template.php
<?
  if( !isset $pageTitle ) $pageTitle = 'Hello World';
  if( !isset $pageContent ) $pageContent = 'content/home.php';
?>
<html>
  <head>
    <title><?php echo $pageTitle ?>
    // add css links here
  </head>
  <body>
    <? require_once($pageContent) ?>
  </body>
</html>

// index.php
<?
  $pageTitle = 'My Home Page';
  $pageContent = '/content/home.php'

  require_once('template.php');
?>

// content/home.php
<h1>Welcome to my site</h1>

如果我不想使用已经存在的大型复杂 CMS/模板引擎之一,我会经常使用这样的系统。

如果您复制和粘贴此代码可能不起作用,这只是一个粗略的示例

于 2013-07-09T21:43:42.653 回答
1

这个问题将被关闭,因为它过于基于意见,但我会给你我的意见。

如果您是 .NET 商店,我会使用 MasterPages。MasterPages 为您提供了您正在寻找的好处,如果您的网站在未来变得更加复杂,MasterPages 的好处不仅仅是在整个网站上维护类似的标记,例如所有子页面都可以访问的共享方法和控件。

如果您不是 .NET 商店,并且您真的认为该站点不会变得复杂,请坚持使用 HTML 和 CSS 中的服务器端包含。

于 2013-07-09T21:41:58.037 回答
1

如果您的网站是完全静态的,我会选择服务器端包含/shtml。PHP 包含也可以很好地工作。ASP.NET 母版页很好,但是您在哪个服务器上运行?对于公共消费,最便宜的解决方案通常是 apache(因此是 shtml 或 php)。

干杯。

于 2013-07-09T21:42:14.380 回答
0

您可以简单地在所有页面中使用相同的标题。是否使用 PHP 无关紧要。既然您说您的网站很简单,这可能是最好和最简单的选择。

使用 AJAX (js) 之类的东西来动态加载内容对于一个简单的网站来说可能是多余的。但没有正确或错误的答案。

于 2013-07-09T21:41:24.500 回答