2011-05-28 67 views
0

我有16个文件用PHP中就包括包括一个PHP模板是这样的:文档名称包括

<?php include("templates/template.php"); ?> 

内部的模板有哪些发现文件名PHP的一点点,打印它。问题在于,要包含PHP文档,它的PHP将被处理(当然是因为它的PHP),这意味着文档名称查找程序正在查找模板的名称而不是主文档。我试图做的是有16个PHP文件作为前端,并由用户访问,这些文件包括模板文件,该文件找到被访问文件的名称,并从另一个文件中将HTML代码拉入模板。这意味着文件的内容在网站的结构之外,并且允许基本编辑的简单程度(I.E.客户可以编辑他们的网站)。正如我上面说我的方法有什么,我试图找出一个简单的问题是,如果反正知道如何做这一信息。模板文件被粘贴下面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 
<script src="http://code.jquery.com/jquery-1.5.2.min.js" type="text/javascript"> 
</script> 
<link href="css/styles.css" rel="stylesheet" type="text/css" /> 
<script type="text/JavaScript"> 
<!-- 
var screenwidth = screen.width; 
if (screenwidth < 1180){ 
document.write('<link rel="stylesheet" href="css/ldrop.css" type="text/css" media="screen" />'); 
} 
else 
{ 
document.write('<link rel="stylesheet" href="css/drop.css" type="text/css" media="screen" />'); 
} 
// --> 
</script> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 
<title>Alignment Courses</title> 
<link rel="shortcut icon" href="favicon.png" /> 
</head> 
<body onload="makerequest('templates/quote.php','quote'); return false;makerequest('editing/<?php echo basename(__FILE__, '.' . pathinfo(__FILE__, PATHINFO_EXTENSION)); ?>.php','main')"> 
<div id="menu"><a href="index.html"><img src="webpics/logo.png" width="225" height="150" onmouseover="this.src='webpics/logoinv.png'" onmouseout="this.src='webpics/logo.png'" style="float:left" alt="Exit To Banner"/></a> 
<div id="logo"><a href="index.html"><img src="webpics/Yoga Health.png" alt="Yoga Health Townsville" width="458" height="43" vspace="20" 
onmouseover="this.src='webpics/Yoga Health Inv.png'" 
onmouseout="this.src='webpics/Yoga Health.png'"/></a><a href="gallery.php" class="visit">visit the photo gallery</a></div> 
<div id="nav" class="mainmenu"> 
<ul> 
<li class="menu1"><a href="home.php">Home</a></li> 
<li class="menu2"><a href="#">Classes</a> 
<ul> 
<li><a href="daily.php">Daily</a></li> 
<li><a href="beginner.php">Beginner</a></li> 
<li><a href="alignment.php">Alignment</a></li> 
<li><a href="prepare.php">Preparation</a></li> 
</ul> 
</li> 
<li class="menu3"><a href="#">Family Yoga</a> 
<ul> 
<li><a href="family.php">Family Yoga</a></li> 
<li><a href="kids.php">Childrens Yoga</a></li> 
<li><a href="prenatal.php">Prenatal Yoga</a></li> 
</ul> 
</li> 
<li class="menu4"><a href="#">Prices</a> 
<ul> 
<li><a href="prices.php">Classes</a></li> 
<li><a href="purchase.php">Equipment</a></li> 
</ul> 
</li> 
<li class="menu5"><a href="events.php">Events/Workshops</a> 
<ul> 
<li><a href="dance.php">Dance</a></li> 
</ul> 
</li> 
<li class="menu6"><a href="teachers.php">Our Teachers</a></li> 
<li class="menu7"><a href="contact.php">Location</a></li> 
</ul> 
</div></div> 
<div id="content"><div id="sidebar"><div id="sidebar"> 
     <p><strong class="MyriadPromain"><em>Contacts</em></strong><br /> 
      <span class="MyriadProcontact">Shop 3, 262 Woolcock Street, Currajong, 4812 <br /> 
      <a href="mailto:[email protected]">Information: [email protected]</a><br /> 
      <a href="mailto:[email protected]">Bookings: [email protected]</a><br /> 
      Phone: 07 47 751 154<br /> 
      Mobile: 0410 085 054<br /><br /></span> 
      <span class="ArialGroup">For Enquiries Regarding Group Bookings<br /><a href="documents/Group Bookings.pdf">Click Here</a></span> 
     </p> 
     <p><a href="http://www.facebook.com/pages/Yoga-Health-Townsville/140216156034239"><img src="http://www.yogahealth.net.au/webpics/facebook.gif" width="120" height="45" /></a></p> 
     <iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2Fpages%2FYoga-Health-Townsville%2F140216156034239%23&amp;layout=box_count&amp;show_faces=false&amp;width=700&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=50" scrolling="No" frameborder="0" style="border:none; overflow:hidden; width:65px; height:65px;" allowtransparency="true"></iframe> 
     <p> 
      <a href="links.php" class="ArialGroup">Links to other Websites in our Community</a></p> 
     <div class="quoteback"> 
     <a href="#" id="refresh"><img src="http://www.yogahealth.net.au/webpics/Refresh.gif" height="20px" width="20px" align="right" /></a> 
     <div id="quote"><br \></div> 
     </div> 
     <br \> 
<script src="http://widgets.twimg.com/j/2/widget.js"></script> 
<script> 
new TWTR.Widget({ 
    version: 2, 
    type: 'profile', 
    rpp: 4, 
    interval: 6000, 
    width: 250, 
    height: 300, 
    theme: { 
    shell: { 
     background: '#333333', 
     color: '#ffffff' 
    }, 
    tweets: { 
     background: '#000000', 
     color: '#ffffff', 
     links: '#4aed05' 
    } 
    }, 
    features: { 
    scrollbar: false, 
    loop: false, 
    live: false, 
    hashtags: true, 
    timestamp: true, 
    avatars: false, 
    behavior: 'all' 
    } 
}).render().setUser('YogaHealth1').start(); 
</script> 
     <?php include("templates/quotein.php"); ?> 
     </div> 
</div><div id="main"><?php include("editing/alignment.php"); ?></div></div> 

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

许多在此先感谢。

+0

您的模板文件404's;张贴相关的代码。 – Ross 2011-05-28 10:48:07

+0

@Ross对不起,该文件夹是模板现在不修复模板。考虑到它的PHP,我会发布代码。我在想什么? – Jason 2011-05-28 10:49:32

回答

1

模板应该是一段代码,它需要参数并基于该代码生成输出。

这个问题的解决方案可能是,在那个被访问的文件中,你声明一个具有适当名称的变量并将它传递给模板。在那里您将按照要求区分每个页面。

解决方案

魔术不断__FILE__持有包含的文件名,如果在使用包括。所以解决方法是将php代码移动到您正在运行include的文件中。

+0

问题仍然是开放的,我目前的拼凑解决方案太把模板分成两个文件,并将文档名称放入包含模板的文档中。 – Jason 2011-05-28 11:06:10

+0

我明白了,我发现一个规范说,__FILE__总是保存文件/ included_file的名称。因此,您的基本名称部分将始终将__FILE__视为模板。看到这里[php魔术常量](http://php.net/manual/en/language.constants.predefined.php) – koressak 2011-05-28 11:16:34

+0

我所做的只是移动了php脚本,它从包含的文件中找出文档名称它找到正确的文档名称。 – Jason 2011-05-28 11:22:42