从来不会写博客的人,今天开始也要偶尔来叨叨,记录自己的所学。
刚开始工作时用的是java,后来项目转交了,就转为PHP,接触的一个框架就是drupal,我是个不爱自学的人,对IT说不上狂热,总想着完成任务就好,所以用了两年的drupal,对他的了解还是仅限于会用而已。直到最近自己接项目,从头到尾的一步步开发,才发现,原来自己对他的是如此的生疏。
drupal是个不错的CMS,虽然我也没用过什么CMS,至少他很适合快速建站,官网上的module很多,而且扩展性好,各类网站都能做,有个强大的后台管理等等,嗯,还有一点值得推荐的就是他的多国语言功能还是很强大滴,稀饭……好处我也不多说,谁用谁知道。
因为项目建的比较早,那时还是drupal5,鉴于系统太庞大升级困难重重,所以到现在还用的是drupal5。自己接了小项目,准备直接用最新版drupal7,5跟7之间隔了6,开发的时候一下子懵了,用啥啥不行。于是下了官方的文档细细研究,英文太烂,看着比较头疼,一些不懂的只能对照着drupal6的中文文档翻,毕竟6跟7之间还是很像的。
如何根据url建模板文件呢?比如单独建front页面的模版,5中只要在theme下新建个page-front.tpl.php就行,7做法也是一样,只不过名字中间就得加两条杠,page--front.tpl.php了,根据url建模版文件的,名字之间都得是两条杠杠。
那如何自定义theme方法呢?5中只要你的方法名字是个theme就行,而7则不同啦,他的theme机制就是你想自定义个theme,必须利用hook_theme()方法,先注册这个theme。template文件中我不知道如何去自定义,目前知道他只能覆写。hook_theme只能在module中注册。theme可以直接定义个方法,也可以利用模版文件,具体看他的参数,如果利用模版文件,想给他初始化些变量,都可写在template_preprocess_+your theme name.
7的最大改变莫过于database的操作,他整了自己的一套建sql的方法,通过调用他的方法来合成sql操作,取数据的时候再也不用去循环的result。然后再fetch_object了,现在excute之后直接返回各种形式的结果。
……
废话比较多,专业性也不够,将就着吧,有看客不?见谅见谅哈。其实开发的过程当中还是挺纠结的,很多东西都不一样,所以还是得硬着头皮先把那英文文档给攻克, 等你学成之时,你就会发现drupal其实挺美好。加油加油加油,其实你也会发现,你也挺美好的。
官网:www.drupal.org