1

这个问题可能以前在这里被问过,但我不知道它是什么以及如何正确命名它。

这是我的目标:我试图为单独的页面进行多种设计。示例 我有一个主页设计,但我的登录页面和成员页面也有一个单独的设计。我通常使用 header.pp 和 footer.php 并将内容放在两者之间,但我不知道如何在这里完成。

我尝试做的示例是http://instagram.com/您会看到主页如何有自己的设计,然后当您点击登录时,它有自己的设计,没有主页上的元素我怎么能做到这一点并远离我的页眉和页脚设计系统。

4

3 回答 3

1

当然只是不要使用您的页眉和页脚临时文件,而是制作新的临时文件,或者为需要不同设计的任何页面制作新的样式表。

于 2013-06-30T02:12:52.283 回答
0

您应该查看 PHP 框架,它们有一个layout从您展示的 instagram 示例中调用的概念,主页和登录页面由两个单独的布局文件组成。布局文件本质上是页眉和页脚文件以及用于注入页面内容的占位符变量的混合体。您也可以在不使用框架的情况下在您的代码上实现这样的模式。但至少你需要实现一个 MVC 模式才能让这一切变得有意义。

于 2013-06-30T02:10:36.317 回答
0

您正在寻找模板。PHP毕竟是一种网页模板语言,所以它可以很容易地完成。

不久前,我写了一个简单的教程,介绍如何自己完成此操作。

http://gustavsvalander.com/how-to-create-your-own-template-engine-using-php-files/

功能

<?php
// Load a php-file and use it as a template
function template($tpl_file, $vars=array()) {
    $dir='your-app-folder/view/'.$tpl_file.'.php';
    if(file_exists($dir)){
        // Make variables from the array easily accessible in the view
        extract($vars);
        // Start collecting output in a buffer
        ob_start();
        require($dir);
        // Get the contents of the buffer
        $applied_template = ob_get_contents();
        // Flush the buffer
        ob_end_clean();
        return $applied_template;
    }
}

模板

<html>
    <head>
        <title><?php echo $title; ?></title>
    </head>
    <body>
        <p><?php echo $content ?></p>
    </body>
</html>

如何使用

<?php
require "template.php";
$template_vars = array('title'=>'Test', 'content'=>'This is content');
echo template('header');
echo template('template_for_firstpage', $template_vars);
echo template('footer');
于 2013-07-24T22:00:57.073 回答