【发布时间】:2011-05-24 09:44:07
【问题描述】:
您好,我想弄清楚如何用一个类做一个 PHP 模板系统,我不喜欢 header.php footer.php 或 smarty 之类的,只想要 template.html、class.php 和 page1 .php、page2.php 等... 使用我自己的 php 代码,我发现很多网站有人教如何做到这一点,但我仍然有很多问题。
1) 我想在某些页面上添加额外的 css
2) 一些页面有 php 代码,如 mysql 查询和类似的东西
3) 我想要在模板中作为变量的 CONTENT 不仅是单词,而是大量的 div 和东西,在某些页面中,CONTENT 变量内部也有查询,比如填写一个(例如)下拉菜单。
希望有人可以指导我,我实际上有我的模板来解释,(标签只是随机的)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<title>CompanyName | ##TITLE##</title>
<link href="layout.css" rel="stylesheet" type="text/css" />
<link href="styles.css" rel="stylesheet" type="text/css" />
##EXTRA_CSS##
<link rel="shortcut icon" href="/favicon.ico" />
<!--[if IE 6]>
<script src="DD_belatedPNG_0.0.8a-min.js"></script>
<script>
DD_belatedPNG.fix('img, div');
</script>
<![endif]-->
##EXTA_JS##
</head>
<body>
<div id="main">
<div id="container_black">
<div id="container_white">
<div id="container_header">
<div id="logo_top"></div>
<div id="lineas_verticales_top">
<div class="volver_portada"><a href="index.shtml">Volver a portada</a></div>
<div class="english_spanish"><u>Español</u> | <a href="../en/index.shtml" class="english_spanish">English</a></div>
</div>
<div id="nav_bar_black"><div id="nav_bar_red"><div id="nav_bar_yel">
<ul class="menuholder">
<li class="menu_principal"><a href="#" title="Principal">Principal</a></li>
<li class="menu_empresa"><a href="#" title="Empresa">Empresa</a></li>
<li class="menu_productos"><a href="#" title="Productos">Productos</a></li>
<li class="menu_clientes"><a href="#" title="Clientes">Clientes</a></li>
<li class="menu_recetas"><a href="#" title="Recetas">Recetas</a></li>
<li class="menu_contacto"><a href="#" title="Contacto">Contacto</a></li>
</ul>
</div></div></div>
<div id="topbg_degr"></div>
</div>
<div id="container_left">
<div id="conmargen_left_top"></div>
<div id="container_conmargen_left_middle">
##CONTENT##
</div>
<div id="conmargen_left_bottom"></div>
<!--[IF INDEX]
<div id="fono"></div>
<div id="dir"></div>
-->
</div>
<!--[IF INDEX]
<div id="nav"></div>
-->
<div id="container_right">
<div id="conmargen_right_top"></div>
<div id="container_conmargen_right_middle">
<!--[IF PAGE OR PAGE OR PAGE]
<a href="#" id="recetas_poster" title="recetas"></a>
[ELSE IF]
<a href="#" id="clientes_poster" title="recetas"></a>
[ELSE IF]
<a href="#" id="productos_poster" title="recetas"></a>
-->
</div>
<div id="conmargen_right_bottom"></div>
</div>
<!--[IF INDEX]
<div id="frame_facebook">
<a href="#" class="facebook" title="CompanyName"><span>CompanyName</span> en Facebook</a>
<div class="breakL"></div>
<fb:like href="#" layout="button_count" show_faces="true" width="100" font="tahoma"></fb:like>
</div>
-->
<br/>
</div> <!-- cierre del container white -->
</div> <!-- cierre del container black -->
<div id="footer">
<div class="footer_comment">
CompanyName Todos los derechos reservados 2011
</div>
</div>
</div> <!-- cierre del main -->
<br/>
</body>
</html>
例如contact.php,内容将是一个表单,在页面顶部我有这个巨大的php代码,我在这里验证和所有。
如果有人能让我走上正确的道路,我将不胜感激。先感谢您。
【问题讨论】:
-
SOME pages has php code like mysql queries and stuff like that- 通常称为“代码气味”。阅读有关 MVC 和框架的信息。或两者兼有:yiiframework.com/doc/guide/1.1/en/basics.mvc
标签: php model-view-controller templates variables