2011-05-03 206 views
1

我想为我的整个网站创建一个共同页眉&页脚。但是我的网页被组织在不同的文件夹中。我应该如何在PHP文件中定义我的链接,以便我可以将它们包含在所有pages.Below在我的menu.php文件的一部分。PHP页眉和页脚

Code:Root 
<li> 
<a href="company.html" <?php echo $active[2] ?>>COMPANY</a> 
<ul> 
<li><a href="team.html"><strong>Our</strong> Team</a></li> 
<li><a href="index.html#clienteles"><strong>Our</strong> Clientele</a></li> 
<li><a href="company.html#testimonials">Testimonials</a></li> 
<li><a href="others/profile.html"><strong>Our</strong> Profile</a></li> 
</ul> 
</li> 

Code: Child 
<li> 
<a href="../company.html" <?php echo $active[2] ?>>COMPANY</a> 
<ul> 
<li><a href="../team.html"><strong>Our</strong> Team</a></li> 
<li><a href="../index.html#clienteles"><strong>Our</strong> Clientele</a></li> 
<li><a href="../company.html#testimonials">Testimonials</a></li> 
<li><a href="../others/profile.html"><strong>Our</strong> Profile</a></li> 
</ul> 
</li> 

我不想使用绝对路径,因为我在我的Mac上测试本地apache服务器中的站点。

回答

0

应该使用绝对路径。只需为您的项目创建一个BASE_URL常量并将其指向您的基本URL。之后,只需将其附加到您的URL

<li><a href="<?php echo BASE_URL?>/team.html"><strong>Our</strong> Team</a></li> 
... 
... 
... 
<li><a href="<?php echo BASE_URL?>/path/team.html"><strong>Our</strong> Team</a></li> 
0

我会包括一个文件,可能config.php和里面有一个绝对路径。这样,即使你在本地测试你的网站,你只需要改变这个常量,并在你想要的任何链接中使用它。

0

如果这些页面上的文档根,你可以用斜杠前缀他们:

<li><a href="/team.html"><strong>Our</strong> Team</a></li> 

由于在Unix /将提供一个路径根,无论是http://localhost/team.htmlhttp://example.com/team.html

0

我会使用使用<base> tag。一旦包含它,您可以使用相对链接,浏览器将显示在正确的位置。

如果您确实不想在<base>之间来回切换不同网域的网址,您可以尝试使用$_SERVER['HTTP_HOST']来动态设置它。

0

我认为最好的解决方案是有一个对象,它可以呈现布局以及当前要显示的任何页面。

您的布局是这样的:

mylayout.phtml

<html> 
<head><?php $title ?></head> 
<body> 
<div id="header" 
</div> 

<?php include($_GET['webpage']) ?> 

<div id="footer"> 
</div> 
</body> 
</html> 

然后您将只调用同一个页面中的所有时间

http://www.mywebsite.com/index.php?webpage=team 

然后创建一个的.htaccess国防部重写改变你的网址为

http://www.mysite/team/ 

看起来有一点点延伸到只显示一个页面,但花一些时间来开发一个结构和一个标准的方法来调用所有的页面,你将获得对你的模板的更多控制,节省编码时间,并有一个页眉和页脚在每一页上。