我试图将类似Masterpages的内容整合到一个网站中,并且一直在想些什么。
如果您有一个模板站点,您需要页眉,页脚和内容(通过传递指向内容文件的变量)。
template.php的例子:
require(header.php);
require($content.php);
require(footer.php);
或者您是否只需要在每个站点中使用页眉和页脚模板。
sonething_site.php的例子:
require(header.php);
//content here
require(footer.php);
由于
答案 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)
您可能喜欢的功能 Template Inheritance