Stuff Connection VS Job Connection
大概花了半个月的时间,Stuff Connection总算是95%完成了,剩下一些功能和修改。虽然说是基于Job Connection的开发,但是还是重写了大部分代码,因为之前做的Job Connection以及之后增加的各种功能,使得现有Job Connection变的有些臃肿,可扩展性明显下降,外加之前看了些TYPO3的相关文档,对扩展的理解和认识又有了进一步的提高。
相比而言,其实Job Connection应该算是大狗的第二个TYPO3网站,第一个是之前在MaxSource时做的公司网站,当时刚从java转型成php,刚接触TYPO3,只能做做基本的TYPO3网站包括一些扩展的配置,但是真正写扩展却是第一次,当时写的扩展和普通的php代码几乎没啥区别。
到了Job Connection的时候,对TYPO3的扩展就有了一定的认识,但是还不是很全面,整个网站基本是靠扩展+TS来实现的,这就有个隐患,同一页面如果多次使用同一个扩展,而且要求扩展的配置也不一样,在这种情况下,Job Connection的扩展就无能为力了。
在之前的基础上,Stuff Connection把扩展的显示控制权交给flexform,尽管这才是最正确的TYPO3扩展方式,但是第一次尝试是在大狗帮Sinopix做slide_gallery的时候。Stuff Connection的flexform做的比较简单,只有一个下拉框选择显示的内容,其他的配置还是放在TS里,因为涉及的参数有点多,如果每个tt_content都要填写这些配置内容,工程量有小点大,而且还要和TS配置合并什么的,实在是麻烦的很。其实如果扩展体积不大,涉及的参数不多的情况下,还是比较推荐用flexform的。
和Job Connection的另一个区别就是,Stuff Connection把涉及数据库、TCA的东西和一些共用功能(比如RTE、mail)单独提成一个扩展,好处就不多说了。在post扩展里,又有不少代码有着相似的功能,比如各种类型的Posting List、不同种类的Posting创建等等,大狗也把这些代码独立成函数,根据传递的参数不同显示不同的前台界面。
当然,Stuff Connection的cronjob也和Job Connection的不一样,采用的是TYPO3自身的cli类,虽然和用php写的效果差不多,但因为是TYPO3的自身功能,限制上应该也会少很多,只是目前到是没什么发现,哈哈。