快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

phplib里带的模板功能的确异常好用,但有个致命的小错误需要更正!

    phplib里带的template.inc包含了一个模板类,用它可以实现程序代码和
界面的分离,给程序设计和界面设计带来了极大的方便,而且它的实现比迅速
模板要好。但有一个致命的小错误导致set_block()函数不能正常使用,而这个
函数是异常重要的,它在处理重复块时显得异常的好用。
    下面通过一个最简朴的例子来讲解用法及解决方式:
模板文件:page1.ihtml(名字你可以随便取,后缀ihtml是一种习惯用法)
<HTML>
<HEAD>
<TITLE> {TITLE} </TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<!-- BEGIN TBK -->
ID: {ID}<BR>
NAME: {NAME}<BR>
<HR>
<!-- END TBK -->
</BODY>
</HTML>
处理文件:test.php
<?php
  include("./template.inc");
  # 创建模板变量$t  
  $t = new Template(".", "keep");
  # 定义页面变量的引用,这样你就可以用page1来引用页面了
  $t->set_file("page1","page1.ihtml");
  # 提取名称为TBK的块,让它指向tbks的引用
  $t->set_block("page1", "TBK", "tbks");
  # 替换标题TITLE变量
  $t->set_var("TITLE","my test of template");
  # 定义ID和NAME,然后把TBK附加到tbks
  for ($i=1; $i<=3; $i++) {
    $n  = $i;
    $nn = $i*10;
    $t->set_var(array("ID" => $n, "NAME" => $nn));
    $t->parse("tbks", "TBK", true);
  }
  # 最后输出页面
  $t->pparse("out", "page1");
?>
   但是这个例子是不能运行的,网友Openball曾给出一种解决方案,把
$t->set_block("page1", "TBK", "tbks");改为$t->set_block("page1", "TBK", "{tbks}");注重最后的“{}”符号,这样的确可以用了,
但有更好的解决方案,打开template.inc文件,找到set_block()函数里的
这句话:$str = preg_replace($reg, "{$name}", $str);呵呵,看到没,
phplib已经做了处理了,但忘了(我猜的:)转义“{”,因此把这句话改
为:$str = preg_replace($reg, "/{$name}", $str);就可以了。这样,
phplib自带的例子也可以用了,而且这种方式好像更规范些,不知各位的
已经如何,详细的还可以参照我在实际中用的模板和程序,欢迎交流经验
   模板:http://myjingpin.com/tpl/v1/show.html
   程序:http://myjingpin.com/app/v1/show.php?mid=flash



返回类别: 教程
上一教程: mcrypt 如何加/解密 ?
下一教程: PHP中如何Header出状态代码 (转)

您可以阅读与"phplib里带的模板功能的确异常好用,但有个致命的小错误需要更正!"相关的教程:
· cqlctpl php模板开始提供,最好用,功能最强盛的模板
· 在PHP世界中选择最合适的模板--比较PHPLIB Template和FastTemplate
· 用PHP制作静态网站的模板框架(四)
· PHP.MVC的模板标签系统之初识PHP.MVC
· PHP使用者状态治理功能的应用
    微笑服务 优质保证 索取样品