ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> PHP技术
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
 
 
本站关键词:
|网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计|东莞产品推广||网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计|东莞产品推广||网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计|东莞产品推广||网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计|东莞产品推广||网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计|东莞产品推广||网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计|东莞产品推广||网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计|东莞产品推广||网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计|东莞产品推广||网站建设 东莞|网页设计 东莞|东莞国际域名注册|东莞国内域名|网页空间申请 东莞|东莞软件公司|东莞电脑外包服务|东莞网页服务|东莞网站公司|东莞企业邮箱|东莞平面设计|东莞产品推广|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有