菜鸟请教phplib中的block问题 用法是这样的:parse(handler, value, true) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是普通的用法吧,在块block里面怎么用?循环里面的语句怎么写?能说详细些吗?谢谢! parse(handler, value, true)就是用在block的循环里的,普通的用法是parse(handler, value)或parse(handler, value, false),当是true的时候会追加模板变量,不然就不会. 我现在了解 parse() 函数的用法了。但是具体到这个例子,我试后还是实现不了块的输出。我真的很菜...上面的这个例子对你来说应该很简单,帮我看看。现在的问题是:1)模板中定义的 tsc ,它的作用是什么?2)通过 $ts->set_block("tshandle","tsc","tscs"); 定义的 tscs ,它算是什么呢?教程上说它必须写成 {tscs} 的格式,可我测试的时候加与不加没什么区别,是这样的吗?3)循环中的$ts->parse(handler, value, true);该怎么写?此时 tshandle,tsc,tscs 中谁是 handle, 谁又是 value 呢?请多指点,多谢了,分少可以再加。 这样和你说吧:当你定义了$ts->set_file("tshandle","tstemp.ihtml");那就是说tshandle就是文件名tstemp.ihtml,但不是tstemp.ihtml文件中的内容,它仅仅代表这个文件名;但这个赋值是用在普通的用法中,而block的文件名(不是文件内容)赋值需要用另外一个方法,就是set_block,$ts->set_block("tshandle","tsc","tscs");tsc表示你的块名,也就是<!-- begin tsc -->中的tsc,但这个块名是在哪个模板中的必须指定,不然就不知道在哪里刷新了,指定他的父级模板就是tshandle,而tshandle在前面已经赋值就是tstemp.ihtml,也就是说tsc块是在tstemp.ihtml模板文件中的,tscs就是你要临时保存tsc块内容的,根据你的循环,它的内容会不断的增加,不需要加{}parse应该写成$ts->parse("tscs", "tsc", true);tscs就是你以前设置的临时变量,tsc就是你在tstemp.ihtml模板文件中的块,true表示追加 十分感谢你--磨碎的沙子!书上的例子也是和你一样用 $ts->parse("tscs", "tsc", true);可以这样就报错:----------------------------------------------------Template Error: loadfile: tsc is not a valid handle.Halted.----------------------------------------------------意思好象是 tsc 不是有效的句柄 。难道是我的phplib7.2文件的问题吗?还是我的配置有问题,(php4.32 , zend client studio 3.01)如果不是程序的问题,我会尝试重新配置php环境。再次感谢! :) 不客气.你有一个错误我才发现:<!-- begin tsc -->中的begin必须用大写:BEGIN<!-- end tsc -->中的end必须用大写:END因为这个原因,所以tsc句柄没有找到这是字符窜匹配问题. 是版本的问题,用phplib7.4吧,偶然兄给过我一个网址,你搜搜吧 1、<!-- BEGIN tsc --><!-- END tsc --> 否则不能正确执行,但不会报错2、你的template.inc文件是多大的?如是15k左右的则无block功能 谢谢楼上三位兄弟,特别是 磨碎的沙子。终于成功了~~ :)(教程上的都是小写begin,end :( ) 谁帮写个超链接判断的正则。 SESSION页间传递失败 PHP查询数据库数据时出现错误 phpstudy 我用PHP把参数写入xml代码出错请看代码?在线等候…… 寻高手能解决实际问题! 关于超链接提交表单的问题 用PHP解析XML 的方法 如何在apache不停止的情况下,清空日至文件? 关于301和404的疑问 session问题 请高高手指点一下关于Session与Class的问题
普通的用法是parse(handler, value)或parse(handler, value, false),
当是true的时候会追加模板变量,不然就不会.
但是具体到这个例子,我试后还是实现不了块的输出。我真的很菜...
上面的这个例子对你来说应该很简单,帮我看看。
现在的问题是:
1)模板中定义的 tsc ,它的作用是什么?
2)通过 $ts->set_block("tshandle","tsc","tscs"); 定义的 tscs ,它算是什么呢?教程上说它必须写成 {tscs} 的格式,可我测试的时候加与不加没什么区别,是这样的吗?
3)循环中的$ts->parse(handler, value, true);该怎么写?此时 tshandle,tsc,tscs 中谁是 handle, 谁又是 value 呢?请多指点,多谢了,分少可以再加。
当你定义了
$ts->set_file("tshandle","tstemp.ihtml");
那就是说tshandle就是文件名tstemp.ihtml,但不是tstemp.ihtml文件中的内容,它仅仅代表这个文件名;但这个赋值是用在普通的用法中,而block的文件名(不是文件内容)赋值需要用另外一个方法,就是set_block,
$ts->set_block("tshandle","tsc","tscs");
tsc表示你的块名,也就是<!-- begin tsc -->中的tsc,但这个块名是在哪个模板中的必须指定,不然就不知道在哪里刷新了,指定他的父级模板就是tshandle,而tshandle在前面已经赋值就是tstemp.ihtml,也就是说tsc块是在tstemp.ihtml模板文件中的,tscs就是你要临时保存tsc块内容的,根据你的循环,它的内容会不断的增加,不需要加{}
parse应该写成$ts->parse("tscs", "tsc", true);
tscs就是你以前设置的临时变量,tsc就是你在tstemp.ihtml模板文件中的块,true表示追加
可以这样就报错:
----------------------------------------------------
Template Error: loadfile: tsc is not a valid handle.
Halted.
----------------------------------------------------
意思好象是 tsc 不是有效的句柄 。
难道是我的phplib7.2文件的问题吗?还是我的配置有问题,(php4.32 , zend client studio 3.01)
如果不是程序的问题,我会尝试重新配置php环境。
再次感谢! :)
你有一个错误我才发现:
<!-- begin tsc -->中的begin必须用大写:BEGIN
<!-- end tsc -->中的end必须用大写:END
因为这个原因,所以tsc句柄没有找到
这是字符窜匹配问题.
否则不能正确执行,但不会报错
2、你的template.inc文件是多大的?如是15k左右的则无block功能
终于成功了~~ :)
(教程上的都是小写begin,end :( )