PHP模板帮助

时间:2011-08-02 15:52:04

标签: php templates include

所以我相信我之前提出的问题完全错误。我很抱歉。

无论如何,我认为这是一个问题:我目前正在使用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 /调用的那个)与我网站的其余部分有不同的布局。我如何实现这一点,同时仍然可以使用上述编码来使用不同的布局?

......这有意义吗?还是我只是唠叨? - 帮助将非常感激。

3 个答案:

答案 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站点。