TSYS2.0 三种碎片理解

      最近好多人对tsys很感兴趣,其实大家不知道的是tsys的asp版本早就已经停止开发了,为了不想让如此优秀的东西被埋没所以我在tsys的asp版本的基础上使用PHP重新开发了一个功能更强的cms,名字是blackhand,这个版本保留了tsys所有的优点,另外屏蔽了tsys的缺点,还增加了诸多很棒的功能,大家如果感兴趣可以看一下.
     另外,因为tsys的asp版本就要求站长会编写asp脚本,同样的,为了灵活性所以呢这个PHP版本就要求站长会写PHP脚本,只有如此才能更灵活,才能用它去做别的cms不敢涉及或永远做不到的功能.这才是tsys的真谛!
PHP版本的tsys浏览页面:http://hi.baidu.com/see7di/blog/item/4daf1955bd555bc8b745ae93.html
PHP版本的tsys下载地址:http://download.csdn.net/source/3248406


碎片三种类型:


三种类型分别是:动态、手工、静态。区别在于:“动态类型”是利用XML来调用数据库相关记录;“手工类型”是和TSYS1.1版的“页面内容替换”方式是一样的;“静态类型”是调用某一个文件里的内容。


碎片的更新原理:

打开“Sliceupdate_Process.asp”文件,细看第58行的“Function ExeCuteSliceById(IdList)”函数,它首先是打开“slice_list”表,通过“slice_type”(碎片类型)来将“slice_data” 赋于不同的变量:动态类型的交给“inc/SliceParser.class.asp”文件中的“Compile()”来处理;静态类型的交给“inc/ FunctionLib.class.asp”文件中的“ChkPathType()”来判断文件所使用的路径类型。无论是“动态类型”还是“静态类型”,其返回的结果都和“手工类型”一样,把结果赋于“tmpContent”变量。

下面接着是继续调用数据库取出“fPath”(要处理的文件名)、“start_flag”(起始标签)、“end_flag”(结束标签),将这四个变量都交给“SaveSliceContent()”函数来处理,下面接着看第116行“Function SaveSliceContent(fPath, sFlag, eFlag, strHtml)”。

在“SaveSliceContent()”中,开始以“Template.class.asp”中的过程声明一个对象:“Tpl”,上述四个变量都交给这个对象来处理了,其处理过程和TSYS1.1版的过程一样。大家感兴趣可以打开“Template.class.asp”文件看看。


碎片不足的地方:

大家在设置碎片的时候有没有发现,作用于文件的路径只能设置一个,如果一个碎片在多个文件中调用,是不是一样的碎片有设置多个。 其实在“SaveSliceContent()”函数中改改即可,偶的想法是判断出“Path”中一共有几个路径,然后设个循环依次处理。其处理方法完全参照TSYS1.1版来

如果你对TSYS1的版本熟悉的话...可以对照一下特性和嵌入~
posted @ 2008-04-25 19:43  已經停更  阅读(164)  评论(0编辑  收藏  举报