帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > PHP编程
对《模板,PHPLIB处理方式》一文的补充
作者:匿名 发布时间:2002-12-28 来源:phpuser
用模版设计网站,可以分开美工和程序员的工作,并且方便界面的修改和完善。所以,我用了PHPLib的template模版。
但是,其中却始终有个问题,就是block的使用,因为,哪怕是lib的帮助中的例子,也是错的,根本没法出来结果。

为什么要用block呢?
比如说,要显示一个表格,那么表格的没一行需要重复显示(parse的时候,用参数true可以追加)。
但是,表格是一个文件的一部分,如果多次parse,只能造成整个表格的多次显示。
解决的一个办法是,将一个<tr>...</tr>单独放到另外一个文件,然后对那个文件循环parse,最后再对整个网页模版文件parse。功能可以实现,
但是很明显,没有了模版分离的优势,而是很麻烦。
好了,所以不得不用block(可能fast templage不支持的,我没用过FastTemplate,反正phplib的template支持)

比如一个模版文件如下:
<!-- main.htm -->
<html><head></head>

<body>
<table>
<tr><td>filed1</td><td>filed2</td></tr>
<!-- BEGIN row -->
<tr><td>{filed1}</td><td>{filed2}</td></tr>
<!-- END row -->
</table>

</bodky>
</html>

上面,定义了一个名为row的block,现在就可以让那一块重复parse了。

php文件为:
include "template.inc" //注意,你下载的template.inc文件65行左右,可能缺一个"/"
//,就是set_unknown()函数前的注释没有匹配。从PHPLib的发源地和phpuser下载的都有
//这个小问题,加上就行了。

$t= new Template(".");
$t->set_file("fhandle","main.htm");
$t->set_block("fHandle","row","{rows}");!!!!!Importment
// ~~~~其实,文件中的block被替换成了
// {rows}.注意,这里{}一定不能省!PHPLib自带的例子,
// 就是少了这个,所以不能正确显示!!

for($i=0;$i<10;$i++)
{
$t->set_var("filed1",".随便啦..");
$t->set_var("filed2",".随便啦..");
$t->parse("rows","row",true);
}

$t->parse("out","fHandle")
$t->p("out");
----------------
好了,试试上面的,OK啦!!
哈哈,花了我不少时间,今天从phpbuilder看到的!
都怪那个叫limoduo的,翻译了PHPlib的template使用的两篇文章,到了关键的block,就不再干了。
呵呵,今天终于找到了!

--

==============================================
发信人: OpenBall (爱我所爱~无怨无悔~), 信区: FreeDevelop
标 题: 哈哈,PHPLib的Template的Block终于可以用了!!
发信站: 交大兵马俑BBS站 (Sun Jul 30 19:40:37 2000), 转信

决斗时的先机,
来源于平常之心.
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·Windows下集成安装Apache,PHP,MYSQ
·Mysql注入:SQL Injection with MyS
·PHP 的来龙去脉
·PHP 的功能概述
·PHP与其它CGI的比较
·PHP 的编译配置详细选项
·php.ini 配置详细选项
·如何写作PHP程序
·Hello,World
·嵌入方法
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统