在多个 .php 页面中重复使用 PHP smarty 母版页逻辑
Re-using PHP smarty master page logic across several .php pages
)
总的来说,我对 Web 开发还很陌生,我遇到了一个有趣的问题。
基本上,我使用带有 PHP 的 Smarty 模板引擎来创建一个基本网站。我目前拥有的是一个主模板,基本上是必须在网站的每个页面上使用的网站布局部分。
<!DOCTYPE html>
<html>
<head>
<title>Pet Nicknames!</title>
<link href="styles/main.css" rel="stylesheet">
</head>
<body>
<div id="websiteBody">
<div id="header">
</div>
<div class="menu">
<div class="menuContainer">
{foreach $menuButtons as $menuButton}
<a href="{$menuButton->link}"><div class="menuButton">
<span>{$menuButton->text}</span>
</div></a>
{/foreach}
</div>
</div>
<div id="content">
{block name=content}{/block}
</div>
<div id="footer">
</div>
</div>
</body>
如您所见,这个主模板包含一个 foreach,它基本上只是从 "master.php" 脚本中获取一个数组,并从数据库中检索一个按钮数组。
问题是现在我想创建几个 PHP 页面,但它们都应该重新使用这个模板并且都必须 运行 PHP 脚本来检索菜单按钮。
如您所见,我制作了一个名为 "content" 的块,并且我正在考虑使用模板继承来执行此操作...但是我仍然不清楚如何正确地重复使用 PHP 诸如菜单之类的逻辑,基本上必须在网站上的所有页面上重复使用,而不必在每个 PHP 脚本中 include/repeat 它。
在网页设计中有什么 "standard" 方法可以解决这个问题?你是不是简单地将这个"setup"逻辑封装在一个单独的PHP脚本中,并将其包含在所有需要使用主模板的脚本中?
谢谢大家的帮助!
剪切 <div class="menu">...</div>
并将其放在名为 menu.tpl
的单独模板中,现在代替此 div(在主模板中写入):
{include file="menu.tpl" menuButtons=$menuButtons}
file - 要包含的模板文件的名称
menuButtons - 将本地传递给模板的变量
请查看此文档以获取更多信息:
)
总的来说,我对 Web 开发还很陌生,我遇到了一个有趣的问题。
基本上,我使用带有 PHP 的 Smarty 模板引擎来创建一个基本网站。我目前拥有的是一个主模板,基本上是必须在网站的每个页面上使用的网站布局部分。
<!DOCTYPE html>
<html>
<head>
<title>Pet Nicknames!</title>
<link href="styles/main.css" rel="stylesheet">
</head>
<body>
<div id="websiteBody">
<div id="header">
</div>
<div class="menu">
<div class="menuContainer">
{foreach $menuButtons as $menuButton}
<a href="{$menuButton->link}"><div class="menuButton">
<span>{$menuButton->text}</span>
</div></a>
{/foreach}
</div>
</div>
<div id="content">
{block name=content}{/block}
</div>
<div id="footer">
</div>
</div>
</body>
如您所见,这个主模板包含一个 foreach,它基本上只是从 "master.php" 脚本中获取一个数组,并从数据库中检索一个按钮数组。
问题是现在我想创建几个 PHP 页面,但它们都应该重新使用这个模板并且都必须 运行 PHP 脚本来检索菜单按钮。
如您所见,我制作了一个名为 "content" 的块,并且我正在考虑使用模板继承来执行此操作...但是我仍然不清楚如何正确地重复使用 PHP 诸如菜单之类的逻辑,基本上必须在网站上的所有页面上重复使用,而不必在每个 PHP 脚本中 include/repeat 它。
在网页设计中有什么 "standard" 方法可以解决这个问题?你是不是简单地将这个"setup"逻辑封装在一个单独的PHP脚本中,并将其包含在所有需要使用主模板的脚本中?
谢谢大家的帮助!
剪切 <div class="menu">...</div>
并将其放在名为 menu.tpl
的单独模板中,现在代替此 div(在主模板中写入):
{include file="menu.tpl" menuButtons=$menuButtons}
file - 要包含的模板文件的名称
menuButtons - 将本地传递给模板的变量
请查看此文档以获取更多信息: