用drupal快10年了,当初用drupal只是做为blog,因为当时找不到一个好的PHP blog程序,那时候blog程序里还是movabletype的天下,可惜是用perl写的。这些年我用drupal做了不少站,也写了不少druapl的文章,但我并不懂drupal,我只是把它当作blog用,我用到的drupal功能用wordpress一样可以做到,实际上drupal要比wordpress强大很多,两个程序根本不是一个级别的东西。要想精通druapl那可不是一朝一夕的事情。
drupal是2001年出来的,现在已经是国外开源CMS里的老大了,这完全归功于它优秀的构架,drupal目前俨然已经成为一个框架了。了解PHP的也许知道CodeIgniter、CakePHP、Zend Framework等PHP框架,还有国内的ThinkPHP等等。这些框架虽然倍受争议,但它们的确能给PHP程序员带来不少便利。实际上Drupal现在是一个更加易用的PHP框架,它的易用性是因为它有数以千计的模块。如果drupal不用任何模块它什么都干不了,只是一个和CodeIgniter类似的纯PHP框架。在我看来如果懂PHP,drupal绝对比CodeIgniter、CakePHP更高效,drupal官方有将近7000个模块,这些模块就可以满足80%的用户需求了,CodeIgniter可没那么多现成的代码给你用。
drupal是个社区软件,这些是国内CMS不能比的。国内的dedecms和ecms之类的cms都可以做到自定义模型,但它们缺乏的就是社区性。论坛、交友、微博、wiki、课程管理等互动性比较强的功能都可以用Drupal做到,你要用国内这些CMS做的话就难了。
drupal最流行的模块就是CCK和views了,一个负责自定义模型,一个负责前台调用显示。drupal7默认已经集成了CCK,可见cck的流行程度了。国内好多CMS的自定义模型也很强大,有的已经可以添加字段处理函数了。但与drupal的cck相比缺乏的还是社区性,CCK结合它的相关模块可以做到你想到的任何功能,可以控制每一个字段的权限,与cck相关的模块就有几百个,让人眼花缭乱。
下面我就说说我为啥对drupal难以割舍。
drupal的强大提高了它的门槛,尤其是它的模板,我对drupal又爱又恨就是因为它令人恼火的模板系统。国内的cms对一个完全不懂PHP的人也可以轻而易举做个门户网站出来。你要用drupal做个门户风格简直是要命,我用drupal这么多年了还是只会做一个blog式的模板。看到很多复杂模板都是基于views做的,我每次打开这个东西就头大,看着那复杂的要输半天的表单,我真的想哭。硬着头皮弄出来的调用代码里,html标签比内容字符都多。不懂PHP,英文也很烂,用这玩意做大型网站一定要做好心里准备。
还有个让人烦恼的事情是drupal每次升级变动都太大,我说的是5.x、6.x、7.x这种大版本的变动。很多模块跟不上,模板里的函数也有变化,我有个用drupal 5的站到现在都没升级,就是因为几个模块没有新版本。我用的Textpattern,wordpress、vbulletin,很多古老的模块都可以用,Textpattern甚至七八年前的都可以用。drupal5的模块到6上没一个能用的了。drupal7又是一个大升级,虽然有很多激动人心的新功能,但对于那些改动比较大的网站,升级又是一个噩梦了。我最近做新站,都拿不定主意用6还是7,6很成熟了,但7说不定今年就可以出来了,有很多令人激动的新特性,纠结啊。
让人难以割舍的Drupal
发表时间
评论
111