我想知道是否有任何资源或技巧可以更快地开发基本的Drupal模块?您是否已经想到了什么方法来加速模块开发?
Drupal模块文档有点难以理解,而且非常庞大。我想知道是否有人对其进行了简化,并提供了快速完成特定任务的技巧/提示。我目前正在寻找Drupal 6和7的相关内容。如果您能帮忙节省时间,将不胜感激 :-)
我想知道是否有任何资源或技巧可以更快地开发基本的Drupal模块?您是否已经想到了什么方法来加速模块开发?
Drupal模块文档有点难以理解,而且非常庞大。我想知道是否有人对其进行了简化,并提供了快速完成特定任务的技巧/提示。我目前正在寻找Drupal 6和7的相关内容。如果您能帮忙节省时间,将不胜感激 :-)
总的来说,我建议您购买高效程序员一书。其中没有什么惊天动地的内容,但有很多小贴士可以逐步增加您的生产力。
对于Drupal而言,Pro Drupal Development 和 Pro Drupal 7 Development 虽然不专注于开发速度,但是它们是必不可少的。
除此之外...
其实并没有快速掌握 Drupal 模块开发的方法。如果您了解 Drupal API 中关于模块开发的内容(安装、菜单、块、表单等),那么您就能够理解它了。我记得最难的部分是理解菜单系统。
其中一个有帮助的方法是使用简单的模块并查看它们如何工作,通过解决问题来找到自己的解决方案。阅读《Pro Drupal Development》也会有所帮助。
特别是在修改代码时,尝试开发一些技巧来快速确定负责所需更改的代码。一个例子是查看执行它的模块的hook_menu()定义,然后检查页面回调并浏览代码。要查找的内容:是否有您可以使用的钩子,它是否为表单(如果是,表单ID是什么,表单结构如何)等。
了解应该查找的位置的最佳方式(知道去哪里查找)可能是练习。每次你做某事,下一次你必须做类似的事情时就会更快。我认为也有帮助的是与他人一起使用核心/贡献模块。你不仅可以更好地学习这些模块,还可以学习如何更好地阅读和理解其他人编写的代码,并改进自己的编码风格。
尝试利用经过验证的通用“构建块”模块,如Views、Flags、Panels、CCK/Field等。然后,这些模块完成了大部分工作,您只需要提供粘合代码以正确地将它们与您的站点集成。第一次使用这些模块可能需要更多时间,但之后您很可能会节省很多时间。
话虽如此,我不确定目标是否应该是快速构建模块。我认为目标是构建更好的模块。尝试使它们通用、安全、灵活、可主题化等,以便在下一个构建类似站点时重复使用这些模块。
大多数基本的Drupal模块开发都是复制和粘贴。如果您使用TextMate,它的Drupal捆绑包允许您通过点和单击(因为它包含大部分必要的代码片段;您只需填写您的信息)构建模块的关键部分(菜单、主题功能等)。
遵循模块构建教程也是不错的选择;事实上,如果您每天花3或4周时间进行编码,并且已经有一些编码背景,那么您会做得很好。
Drupal 的 Gedit 可为您预配置非常好用的 Gedit 编辑器/IDE。
例如,新建一个模块:创建一个空的模块文件 mymodule.example
。进入该文件。
module<tab>
,它会展开成一个完整的、预定义的模块。
或在任何模块中:hook<tab>
,可查看可用钩子的列表。选择例如 menu<tab>
,它会展开成一个完整的、预定义的 hook_menu。使用 <tab>
,可以遍历该新钩子中所有变量部分,以填写细节。
Drupal.rb 包含一个 $ drupal generate module "modulename"
命令,它会打开一个交互式 shell,允许构建模块的脚手架。这些脚手架所构建的模板是可以覆盖的。