zoukankan      html  css  js  c++  java
  • 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


    TSYS2.0 碎片工作原理


    碎片三种类型:

    三种类型分别是:动态、手工、静态。区别在于:"动态类型"是利用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的版本熟悉的话…可以对照一下特性和嵌入~
  • 相关阅读:
    THUSC2021游记
    CF补题计划
    2020 Petrozavodsk Winter Camp Day5 简要题解
    很“炸”的安卓UI自动化工具
    SQL-关联查询
    MeterSphere接口自动化平台的使用
    Android开发Handler是如何确保UI刷新优先执行的源码解读
    android开发BadTokenException: Unable to add window -- token null is not valid; is your activity running?比较好的解决方法
    Android开发判断是否为鸿蒙系统
    Android性能优化使用自带的Profiler功能分析traceView文件
  • 原文地址:https://www.cnblogs.com/see7di/p/2240005.html
Copyright © 2011-2022 走看看