php中的母版页

时间:2011-11-23 21:20:26

标签: php master-pages

我试图将类似Masterpages的内容整合到一个网站中,并且一直在想些什么。

如果您有一个模板站点,您需要页眉,页脚和内容(通过传递指向内容文件的变量)。

template.php的例子:

require(header.php);
require($content.php);
require(footer.php);

或者您是否只需要在每个站点中使用页眉和页脚模板。

sonething_site.php的例子:

require(header.php);
//content here
require(footer.php); 

由于

5 个答案:

答案 0 :(得分:7)

如果您不想使用任何第三方模板引擎,简单的解决方案是拥有母版页的文件,然后从其他页面调用它。

示例: master.php

<html>
   <head>
      <title>Title at Masterpage</title>
   </head>

   <body>

      <div id="menu">
         <a href="index.php">Home</a>
         <a href="about.php">About Us</a>
         <a href="contact.php">Contact Us</a>
      </div>

      <div><?php echo $content; ?></div>

      <div id="footer">Footer to be repeated at all pages</div>

   </body>
</html>

在您的页面中,例如 about.php

<?php
   $content = 'This is about us page content';
   include('master.php');
?>

注意:如果您希望将页面内容放在单独的文件中而不是设置$ content变量,则可以在页面中包含该文件并将其分配给$ content。然后在 master.php 中使用include($content)代替echo $content

答案 1 :(得分:2)

你的第一个方法$content.php似乎不太安全,我可以在那里插入我的远程页面。

所以你的第二种方法更好,看看聪明。它是一个很棒的模板引擎。

小心!!

答案 2 :(得分:1)

First: Create a template page, I called mine master.php.

<body>
<div><?php include('menu.php');?></div>
<div><?php include($page_content);?></div>
<div><?php include('footer.php');?></div>
</body>

Second: Create a content piece, for example about_text.php.
<p>This is information about me.</p>

Third: Create the page with the actual name you want to use:
<?php
$page_content = 'about_text.php';
include('master.php');
?>

答案 3 :(得分:0)

通常最好使用选项A.有一个模板文件,所有页面只有内容。这样做的原因是,如果您需要更改网站的体系结构或模板页面的行为方式,那么您就不会因为必须编辑1000页而搞砸了。

除非你有理由不这样做,否则使用CMS也不是一个坏主意。

答案 4 :(得分:0)

您是否考虑使用DwooSmarty等PHP模板引擎。

您可能喜欢的功能 Template Inheritance