0

我一直在寻找几个小时,可能是因为我有限的 Java 知识,我有点卡住了..

我正在开发一个网站,我想让事情尽可能容易改变。我希望用户加载主页,然后通过点击不同的按钮,页面的 html“主要内容”会相应改变。

我的理由是我想让一切都保持干净和简单,这样如果我想更新索引页面的格式,我只需要更新一页..

我假设我为此需要java..

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prodigy Doo Design</title>
<link href="template/style.css" rel="stylesheet" type="text/css" />
</head>

<body>


<?php include('template/header.php'); ?>
<div class="pad50px900wide"><!--Padding after headder--></div>
<?php include('template/nav.php'); ?>

<!--*****************************
********* BODY CONTENT***********
******************************-->
<div class="bodyContent"><?php include('text.html'); ?></div>
<!--*****************************
******END OF BODY CONTENT********
******************************-->

<?php include('template/footer.php'); ?>

</body>

被大量表示为“BODY CONTENT”的部分是我想要改变的部分。我想我可以以某种方式说:

如果主页按钮单击 - >包括'home.html'

如果关于按钮单击-> 包含'about.html' ... ...

我只是不知道如何将其放入代码中..

你可以在这里查看到目前为止我得到的东西http://pddtest.webuda.com/(如果你不知道,当你在大多数浏览器中显示该站点的源代码时,它会加载参考文件,就好像它们都是首先在一起,所以可能更容易理解我想要做什么)

抱歉,如果我有点含糊,任何帮助都会非常感激,我已经在互联网上爬了很长时间,我知道这可能相当简单

4

4 回答 4

1

我认为您要实现的是一个基本模板,其中只有主要内容发生了变化。这意味着编辑基本模板(或页面,如果你想调用它),编辑所有其他页面。

为此,您只需要一些基本的 PHP,您可以在 GET 变量中将文件名与响应一起发送。

<a href="index.php?file=about">About</a>

无论您的包含在哪里,您只需将此变量添加到 php 扩展中:

<?php include ($file.".php"); ?>

当然不要忘记检查变量是否在请求中。这是一种非常基本的方式,可能不安全,但它是基本 php 的一个很好的应用程序。

希望这会有所帮助。

于 2012-08-21T14:28:40.120 回答
0

您已经包含 PHP,这意味着您正在减少需要对您的页面进行更新的数量,并且更改页眉、页脚等中的某些内容将在整个网站上进行更改。

最好有单独的页面,即 index.php、about.php(您的页面必须是 .php 而不是 .html,因为您在页面中使用 php 来包含)并仅使用常规链接到这些页面链接。

这种方法对SEO也更好。

如果你真的想按照你最初谈论的方式来做,你可以使用 jQuery load() 方法。

更多信息在这里: http ://api.jquery.com/load/

于 2012-08-21T14:09:05.060 回答
0

我认为您需要阅读有关 javascript、HTML 和 PHP 的基础知识;这样,您应该能够自己获得它并成为更好的开发人员。

Javascript 是客户端脚本。这意味着您的 javascript 代码由用户的浏览器解释。当某些浏览器以不同方式解释您的 javascript 时,这可能会导致问题。

PHP 是服务器端脚本。无论您的用户使用什么浏览器浏览,它的行为都是一样的。只要传入相同的数据,函数就会以一致的方式运行。它将 HTML(或其他数据,但更高级)发送到客户端。

HTML 是标记。它所做的只是告诉浏览器如何显示您从服务器返回的数据。

将这三个结合起来,您可以更好地了解它们如何相互作用。如果您页面上的某些内容在后台可以是“动态的”,但一旦用户查看它是静态的(不变),请使用 PHP。如果某些内容依赖于用户输入来动态更改而不刷新页面,那么您将需要实现某种 javascript。

于 2012-08-21T14:13:24.070 回答
0

有多种方法可以实现这一点,这里有 3 种无需重新加载 index.html 的简单方法:

  • 使用 iFrame:让 index.html 包含所有按钮和一个名为 PageContent 的 iFrame 在单击每个按钮时调用一个 JS 函数,该函数只需将 PageContent 的 src 属性更改为相关的 html。
  • 使用客户端 JS:使 index.html 包含所有按钮。还将所有相关页面的内容包含到隐藏的 DIV 中。单击每个按钮时,隐藏所有其他“选项 DIVS”并仅显示相关的 DIV。
  • 使用 AJAX:使 index.html 包含所有按钮和一个名为 PageContent 的 DIV 在单击每个按钮时调用一个 JS 函数,该函数只需访问服务器,获取链接到按钮的页面内容并将其呈现到 DIV 中内部HTML。
于 2012-08-21T14:13:57.543 回答