所以我相信我之前提出的问题完全错误。我很抱歉。
无论如何,我认为这是一个问题:我目前正在使用PHP模板(我认为这是正确的措辞)。它被命名为“index.php”,它包含我的布局以及以下代码,它从名为/ content /的目录中调用正文的内容,例如“关于”“联系人”等。
<?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!
?>
上面的编码在我的模板的index.php页面中,这就像前面提到的那样调用正文内容,例如“关于”,“联系”等。现在我的模板页面index.php调用默认页面来自'/ content'目录的'index.php'。但是,我希望我的主index.php(不是从/ content /调用的那个)与我网站的其余部分有不同的布局。我如何实现这一点,同时仍然可以使用上述编码来使用不同的布局?
......这有意义吗?还是我只是唠叨? - 帮助将非常感激。
答案 0 :(得分:1)
简单地说明一个条件:
if ($page == $default) {
//different layout
}
else {
....
}
答案 1 :(得分:0)
整个页面的布局是否不同?或者页眉和页脚是否与网站内容的变化保持一致?
如果是后者,你可以设置它,使得2个文件(如“header.php”和“footer.php”)包含你的标题代码和页脚代码,并且你有一个内容div他们。您可以根据您所在的页面打印内容div中的任何内容,其方式与您在上面设置代码的方式类似。
这有意义吗?所以你有三个不同的包含文件,一个用于标题,一个用于页脚,一个用于页面内容(取决于你所在的页面)
答案 2 :(得分:0)
如果我理解你正确你只想从你的根index.php切换布局,如果有人点击你的链接,你会将“p”参数传递给根index.php,它通过加载来改变整个布局来自/ 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
}
?>
将它放在根index.php的顶部,并在else条件下构建根index.php站点。