如何在PHP中更改默认页面布局的内容[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在PHP中更改默认页面布局的内容[关闭]相关的知识,希望对你有一定的参考价值。

我有一个php网页设计类似于下面的布局。它保存为default.php,旨在作为网站中所有页面的页面布局导入。 “A部分”和“部分B”中的内容对于所有页面都是相同的,但我想更改每个页面的“部分C”的内容。我该怎么做呢?

我知道我可以在.NET框架中使用“内容占位符”,但我如何在PHP中执行此操作?我是PHP的新手 - 您的帮助将不胜感激。

+------------------------------+
|        section  A            |
|-----+------------------------|
|     |                        |
|     |                        |
|     |                        |
|  B  |     section C          |
|     |                        |
|     |                        |
+-----+------------------------+
答案

如果您正在询问如何使用php页面作为模板,那么您可以采用一些不同的方法。

将主页分为两个,一个在C部分之前,一个在C之后,然后包括每个页面之前/之后。

例:

include('includes/masterA.php');
//INSERT PHP HERE
echo $content;
include('includes/masterB.php');

或者将你的php代码预先计算成一个内容变量,告诉主页回显它,并且,因为include将它计为一个大脚本,它将只是选择你预先指定的那个并回显结果。

例:

//INSERT PHP HERE
$content = "textfromphp";
include('includes/master.php');

master.php:

echo "<div>Section A</div>";
echo "<div>Section B</div>";
echo "<div>Content:".$content."</div>";
另一答案

您可以使用“ob_start”捕获一个变量中的C部分内容然后在default.php中添加它在C部分

C节输出

<?php

    ob_start();

    echo "<div>Hello</div>";

    $section_c = ob_get_contents();

    ob_end_clean();

    ?>

如default.php

<html>
  <body>
    <div id="section-a">...</div>
    <div id="section-b">...</div>
    <div id="section-c">
      <?php echo $section_c ?>
    </div>
  <body>
</html>

或者,最好使用Twig Template Engine,它以干净和标准的方式解决这个问题。你可以在Twig找到有关Twig Installation and Configuration以及安装和配置指南的更多信息

另一答案

根据您的评论,如果您使用require包含default.php,则只需将default.php中的内容交换为变量,然后在需要default.php之前设置该变量。

举个例子:

//index.php

$page = isset($_GET['p'])? $_GET['p'] : 'home';

$pages = ['home','about','contact'];

$include = in_array($page, $pages) ? $page . '.php' : 'error.php';

require_once('default.php');

//default.php

<html>
    <head></head>
    <body>
        <div class="header">
            <h1>Page header</h1>
        </div>
        <div class="leftcol">
            <p>left column contents</p>
        </div>
        <div class="main">
            <?php include($include);?>
        </div>
    </body>
</html>

然后,您将访问不同的页面,如下所示:

example.com/ //would show homepage
example.com/?p=about //would show about page
example.com/?p=blahfff //would show error page
另一答案

在您的情况下,页面类,当您到达C部分时,您需要做的就是拥有一个将被回显的var命名内容。所以脚本应该像这样加载:

  1. 页面类
  2. C部分(不论该部分是什么)

所以你点击的每一件事以及你去的任何地方,结果都必须返回给一个方法,让我们称之为在页面类中继的displayContent($content)。换句话说,页面类需要包含在要在C部分中显示的每个php文件中,并且每次调用displayContent($content)方法,在文件的末尾,$ content填充HTML代码:D

希望能帮助到你! 继续编码! 战神。

另一答案

您可以使用PHP include函数来执行此操作,请考虑以下示例。

如default.php:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <header><?php include 'sec-a.php';?></header>
        <section>
            <aside><?php include 'sec-b.php';?></aside>
            <aside><?php include 'sec-c.php';?></aside>
        </section>
    </body>
</html>

科a.php只会:

<code>to appear in section A</code>

科b.php:

<code>to appear in section B</code>

科c.php:

<code>to appear in section C</code>

以上是关于如何在PHP中更改默认页面布局的内容[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如果[关闭],我如何使用 PHP 自动更改页面

Sharepoint:如何更改新创建的子网站的默认页面布局?

更改cpanel中的默认页面

如何更改默认打印机

如何在 Dash 中更新侧边栏布局?

如何在 ios 中使用自动布局更改滚动视图内容大小