我有两个页面,两个页面都包含一个 php 包含指向第三页的链接。
目前我有这第三页的两个版本,两个版本都有不同的背景,以适应他们需要在页面上的位置。与其维护两个几乎相同的页面,还是有一个,但可以分辨出两个链接中的哪个链接调用它,并随后显示不同的背景。
我知道一个解决方案将基于原始的两个页面,但由于复杂的原因,它确实必须基于第三个 php 文件。
谢谢
我有两个页面,两个页面都包含一个 php 包含指向第三页的链接。
目前我有这第三页的两个版本,两个版本都有不同的背景,以适应他们需要在页面上的位置。与其维护两个几乎相同的页面,还是有一个,但可以分辨出两个链接中的哪个链接调用它,并随后显示不同的背景。
我知道一个解决方案将基于原始的两个页面,但由于复杂的原因,它确实必须基于第三个 php 文件。
谢谢
您正在寻找的是模板引擎。
模板引擎允许您将应用程序逻辑与网站的呈现分离。因此,您将让您的第三个页面根据您的逻辑来决定它必须呈现哪个模板,并且模板引擎将构建具有所需背景的 HTML 页面。
我个人建议你看看Smarty 模板引擎。它的语法几乎与 PHP 相同,因此学习曲线非常流畅。
这是 PHP 和 Smarty 的伪代码示例
//do something
$pageType = getPageType($args);
//do something more
$smarty = new Smarty();
//if needed, configure smarty here
$smarty->assign('background', $pageType);
//other assignments...
//render the third page template
$smarty->display('third_page.tpl');
这是伪代码third_page.tpl
<html>
...
<style>
<!-- load background {$background} -->
</style>
<body>
<!-- third page content -->
</body>
</html>
在调用页面中,定义一个变量:
$from = 1;
include('third.php');
或者
$from = 2;
include('third.php');
在third.php
中,测试该变量:
if ($from == 1)
// do something
else
// do something else