PHP模板帮助
所以我相信我之前的问题对于我想要什么是完全错误的。我道歉 无论如何,我认为有一个问题给我带来了问题:我目前正在使用一个PHP模板(我认为这是正确的措辞)。它名为“index.php”,包含我的布局和以下代码,这些代码从名为/content/的目录中调用正文的内容,如“About”“Contact”等PHP模板帮助,php,templates,include,Php,Templates,Include,所以我相信我之前的问题对于我想要什么是完全错误的。我道歉 无论如何,我认为有一个问题给我带来了问题:我目前正在使用一个PHP模板(我认为这是正确的措辞)。它名为“index.php”,包含我的布局和以下代码,这些代码从名为/content/的目录中调用正文的内容,如“About”“Contact”等 <?php $default = 'index'; //Whatever default page you want to display if the file doesn't exis
<?php
$default = 'index'; //Whatever default page you want to display if the file doesn't exist or you've just arrived to the home page.
$page = isset($_GET['p']) ? $_GET['p'] : $default; //Checks if ?p is set, and puts the page in and if not, it goes to the default page.
$page = basename($page); //Gets the page name only, and no directories.
if (!file_exists('content/'.$page.'.php')) { //Checks if the file doesn't exist
$page = $default; //If it doesn't, it'll revert back to the default page
//NOTE: Alternatively, you can make up a 404 page, and replace $default with whatever the page name is. Make sure it's still in the inc/ directory.
}
include('content/'.$page.'.php'); //And now it's on your page!
?>
整个页面的布局是否不同?或者随着网站内容的变化,页眉和页脚是否保持不变 如果是后者,您可以将其设置为两个文件(如“header.php”和“footer.php”)包含页眉代码和页脚代码,并且在它们之间有一个content div。您可以根据您所处的页面打印进入content div的任何内容,方式与上面设置代码的方式类似
这有意义吗?因此,您将有三个不同的包含文件,一个用于页眉,一个用于页脚,一个用于页面内容(取决于您所在的页面)只需设置一个条件:
if ($page == $default) {
//different layout
}
else {
....
}
如果我理解正确,您只需要从root index.php切换布局,如果有人单击您的链接,您将向root index.php传递一个“p”参数,该参数通过从/content文件夹加载文件来更改整个布局
<?php
if( isset($_GET['p'] ) ) {
$default = 'index';
if (!file_exists('content/'.$_GET['p'].'.php')) {
$page = $default;
}
$page = basename($page);
include('content/'.$page.'.php'); //And now it's on your page!
} else {
// your root index.php
}
?>
不,这不是一个模板,如果有什么我可以称之为控制器的话。模板是html和变量(无控制逻辑)。阅读MVC范例——这是C层,模板是V层。好的,这样我就不必在每个页面上不断更新布局,我可以从一个文件控制布局。我猜这是控制器?布局是从哪里来的?您需要在那里应用一些处理程序逻辑,例如,在所需条件下交换样式表。上面的代码只加载内容文件,本身无法根据需要进行调整。php包含所有HTML内容(布局),其中包括上面列出的php include脚本,这会将内容调用到布局的页面内容部分。它从/content/directory调用它。然而,我想有一个完全不同的头版布局。该页面的布局完全不同。这是我的问题。包含页面内容的主体没有侧栏,它只有一个大的div容器,并且背景图形也会发生变化。我如何在编码中实现这一点?抱歉,我不是PHP方面的专家:对于您的代码,我得到了:“解析错误:语法错误,第2行出现意外”是的,我的坏习惯是累了:有一个)缺少:if(isset($\u get['p'])){