跳转到主要内容
东方龙马 提交于 10 June 2015

各位好,我是龙马,一名前端开发者。

接触Drupal是从2008年8月开始,到现在快7年的时间了。在这7年间,我也不是一直从事Drupal的开发工作,也做了一些.net、java等语言的项目,虽然是不同的语言,但是我主要的工作还是在前端开发上,写模板、做样式、写写脚本。

闲话少续,说说我对学习前端以及Drupal的一点经验。

谈谈前端的学习

大学毕业之后,我的第一份工作主要是公司网站的维护,包括内容的更新、网站的改版。

毕业的时候,基本上只知道简单的html,当时比较流行的是表格布局,一切皆table,而且自己也不熟练。那时,也是凭借在校时因为兴趣学了一些PS、flash的一点基础,同时,还开了一学期的网页制作的课程,这些仅仅是网页制作的基础,真正能独立编写网页,还有很长的路要走。

因为第一份工作的缘故,所以踏上了网站开发的道路。随着工作和学习的积累,逐渐迷上了前端,因为只要简单写一些HTML、CSS就可以立刻看到效果。

作为一名前端开发者,掌握HTML、CSS基本功是必须的,当然这只是基础,还有很多技术需要学习的,比如JavaScript,最新的HTML5、CSS3、Sass、一些前端框架如Bootstrap、移动端等。但是,不用害怕,学习需要按部就班,脚踏实地。

其实不管学习任何东西,重要的是掌握学习方法,学习前端、学习Drupal、学习语言,都是如此。

学习新东西基本上都是理论和实践相结合。比如,我最初学习CSS的时候,当时是看了两遍李超的《CSS网站布局实录》第二版,然后就开始参考书上的例子敲代码,动手可以增加信心,让理论变成实例。经过一段时间的动手,基本可以摆脱书本,自己手动敲代码。然后就可以拿一个小项目实践了。当时,刚好有朋友想搭个网站,刚好我有研究一段时间动易CMS,所以就拿动易帮他搭建了一个简单的站点,然后前端模仿了一个站点,就这样,第一个实战作品就完成了,虽然这个站点早已下线,但是对我个人来说,永远不会忘记它,因为它是我前进路上的一块基石。

随后,接着做了一两个项目,包括公司的网站改版以及个人博客的搭建,通过实际代码的编写,一边写代码,一边发现问题,解决问题。

谈谈Drupal的学习

有了HTML、CSS的前端基础,接下来,就打算换一份工作,正式投身前端开发的事业。

有幸来上海之后的第一份工作,公司的项目主要是基于Drupal开发的。公司的老板起初是几位海归人士办的公司,老板从小在美国长大,接受到很多西方的教育思想,当然也包括一些优秀的技术。回国以后,创办一些公司,当时有几个项目就是用Drupal开发的,那时还处在Drupal5的时代。

关于Drupal的学习方法,可能每个人都有不同的方法,因为专业背景不同,经验不同,思维方式不同,学习方法自然也会相差各异。

谈谈我的学习经历

2008年,当时成熟稳定版本是Drupal5.x,Drupal中文资料非常匮乏,仅有一本比较系统的《Drupal专业开发指南》第一版(5.x),是由老葛一个人翻译的,所以说,老葛被称为Drupal中文社区的布道者,实至名归。因为我的主要工作是偏重Drupal前端开发,所以我的学习重点就是主题开发这个部分。当时,没有一点PHP基础,也是靠多看慢慢知道了变量、以及判断语句、简单的函数。

在团队最初配合的时候,大家都没有经验,在开发流程和方法上都走了不少弯路。虽然是可以实现,但是方法还是不好。比如:

  • 当时用了Content Templates (Contemplate) 模块,把html和变量和一些函数都写在了node里面;
  • 在项目最初,不是全新搭建一个主题,而是使用了一个官网下载的主题,界面看起来和项目的效果有些相似,其实,用着用着就发现,后面修改的工作量会更大。
  • 先制作静态页,然后套入Drupal,这样会导致需要很多重复的劳动。比如,我们要根据Drupal生成的class和id,来修改静态页面的CSS。虽然说,我们可以通过theme函数和template的覆写可以修改Drupal大部分的结构来达到和静态页面的一致,但是这个要很大的工作量,而且很多的项目,根本就不必在意html的结构。当然,如果项目预算充足,那这样的覆写也是要做的,一般项目,我们还是推荐先功能,后制作主题。

总结一下,作为一个前端学习Drupal的几个步骤,供参考:

  1. 搭建本地WAMP环境,推荐集成环境:XAMPP、Acquia Dev Desktop
  2. 安装Drupal (安装教程方法一方法二
  3. 熟悉Drupal界面操作,熟悉常用术语(推荐《了解Drupal》
  4. 学会安装第三方主题、模块
  5. 看看《Drupal专业开发指南》第三版主题开发这一章,看看官网的主题开发手册
  6. 可以拿Drupal7核心的bartik或者Garland作为基主题,开始编写一个主题
  7. 不使用任何基主题,自己手动编写一个主题
  8. 掌握常用的模板覆写函数

主题之外:

  • Drupal hook的原理
  • 模块开发的准备工作
  • 手动编写一个模块

您还可以看看我之前写的一篇《Drupal学习大纲》。一点分享,仅供参考。

经历了7年的发展,虽然我早已离开当初那个公司,但是因为在这里与Drupal结下的不解之缘,一直延续着。

希望通过本篇,可以抛砖引玉,期待大家的学习经验分享,可以帮助后来人。

Drupal 版本