Drupal Developer需要什么技能?

时间:2010-05-13 08:20:13

标签: drupal drupal-6 drupal-7

我正在努力写出关键的Drupal能力列表,主要是因为我可以确认我所知道的,不知道也不知道我不知道。 (感谢D.拉姆斯菲尔德的那句话!)

我认为其中一些非常广泛,例如制作功能主题和创建具有良好搜索引擎优化,加载时间等的主题之间存在很大差异,但我希望你可以假设这是一个不错的网页无论如何,开发人员会照顾它。

有兴趣看看这里的人们也很重要。到目前为止,我已将这些建议编辑到此列表中。

语言

  • PHP
  • MYSQL
  • 查询

Drupal Skills

  • 研究和安装模块以满足项目要求
  • 配置基本模块和核心设置以使网站正常运行
  • Drush命令行工具
  • 从头开始创建自定义主题,使用良好的HTML / CSS进行验证。
  • 能够自定义表单,核心,主题而无需更改核心文件,但可以使用template.php或自定义模块。
  • 可以使用API​​从头开始制作表单 - 通过验证并回发到DB / email
  • 可以使用核心挂钩和模块挂钩从头开始创建自定义模块。
  • 参与社区,了解命名约定,CVS系统,最好提交一些代码或修订。

模块 制作一个必须知道的模块列表并不容易,因为您使用的模块不仅非常依赖于网站,而且还有您如何使用它们。但是以下内容被广泛使用:

浏览

  • 了解如何制作基本视图和块。
  • 了解如何使用关系和术语制作更复杂的观点。
  • 了解如何使用hook_views_query_alter进行复杂查询。
  • 了解如何使用hook_views_default_views创建特定视图。

CCK

  • 了解如何设置内容 - 要使用的字段类型。
  • 知道如何创建自己的field_formatters - 主题CCK字段的基础。

要学习,创建基本模块最重要的钩子可能是:

  • hook_form_alter() - 更改表单而不更改代码。
  • hook_menu()
  • hook_theme()
  • hook_nodeapi() - 几乎所有关于节点的内容
  • hook_schema() - 创建表格
  • hook_install()/ hook_uninstall() - 创建表并清理。
  • hook_perm() - 当您需要特殊的访问控制时。
  • hook_init() - 想要永远发生的事情。
  • hook_user() - 如果您需要点击用户操作或修改用户对象。

6 个答案:

答案 0 :(得分:3)

我很好地理解客户端 - 服务器架构,服务器和浏览器的工作原理。和php和mysql,模板引擎的知识。当然,您还应该阅读Drupal文档。

答案 1 :(得分:2)

  

能够从头开始创建自定义主题,使用良好的HTML / CSS进行验证,同时注重可用性和可访问性。 (虽然仍在寻找屁股)。

您通常不希望从头开始创建主题,而是从像Zen这样的启动主题创建主题。

对于Drupal,您需要:

  • PHP,它是一个PHP框架,所以要真正理解和使用它,你需要了解PHP。
  • SQL,Drupal可以使用的SQL服务列表正在增长,但您需要了解* SQL,关系数据库以及如何设置一些基本架构。
  • Javascript(和jQuery)。 Drupal使用jQuery js库,因此如果您不仅知道如何使用javascript,而且还了解如何使用jQuery及其中的一些概念,那将会更容易。
  • 钩子系统以及如何改变Drupal核心和实现钩子的模块。
  • 钩子,主题功能等的命名约定。

<强>模块
制作一个必须知道的模块列表并不容易,因为您使用的模块不仅非常依赖于网站,而且还有您如何使用它们。 Drupal中的两个顶级模块是。

    • 了解如何制作基本视图和块。
    • 了解如何使用关系和术语制作更复杂的观点。
    • 了解如何使用hook_views_query_alter进行复杂查询。
    • 了解如何使用hook_views_default_views创建特定视图。
  • CCK
    • 了解如何设置内容 - 要使用的字段类型。
    • 了解如何创建自己的field_formatters - 主题CCK字段的基础。

我发现非常强大的另一个模块是Panels。它允许您使用非常简单的代码执行许多复杂和困难的事情。你需要学习很多钩子,而不是很多文档。但是一旦你理解了Panels,就会发现你的时间花得很好。

<强>钩
要学习,创建基本模块最重要的钩子可能是:

  • hook_form_alter() - 更改表单而不更改代码。
  • hook_menu()
  • hook_theme()
  • hook_nodeapi() - 几乎所有关于节点的内容
  • hook_schema() - 创建表格
  • hook_install()/ hook_uninstall() - 创建表并清理。
  • hook_perm() - 当您需要特殊访问控制时。
  • hook_init() - 想要永远发生的事情。
  • hook_user() - 如果您需要点击用户操作或修改用户对象。

您不需要一直使用所有这些钩子,但它们是最常用的钩子。

答案 2 :(得分:1)

到目前为止的好榜单!其他一些需要考虑的事项:

  • 能够使用 Drush 更新或设置网站
  • 对Drupal网站的性能,安全性和SEO的良好最佳实践配置有深刻理解(想想发布清单)
  • 向Drupal.org提交了一个模块(无论多么简单)或提交了一个补丁(获取CVS帐户并获取第一个代码的过程对社区和标准具有指导意义)

答案 3 :(得分:1)

你不需要SEO技能的模板,drupal通常有助于SEO很多。当然,切片设计的开发人员必须知道所有标题必须用h1,h2,h3,h4标签完成。这是非常基本的。一切都取决于drupal ..

至于我认为是一个drupal“开发者”,你需要一些非常基本的PHP技能。因为drupal实际上是在没有面向对象编程的情况下编写的,并且没有DESIGN PATTERNS,所以这两件事真的让你成为程序员..没有它们只是[对不起这个词]废话而不是编程。

我认为任何人都可以安装drupal或wordpress或者一些cms-made-simple系统,如果你的生活中至少有一次连接到ftp ...为他们开发插件是需要php的基本技能。当然,如果你找到技术熟练的开发人员,那么他就会知道基本的oop,并且会用OOP编写插件,那个代码真的是NiCE! =)

答案 4 :(得分:1)

能够编辑现有功能(核心或模块)而无需触及核心或模块,并知道是将其放入模板还是自定义模块。

答案 5 :(得分:1)

由于我们现在与网络有关,所以你必须对HTTP协议有一个很好的理解。您还需要很好地理解JavaScript,DOM,CSS和HTML5。对于开发人员而言,了解一些jQuery是不够的,您需要了解您在DOM,HTML5 API和CSS中所做的工作,以便在浏览器中构建功能和行为。您还需要了解服务器端(hook_library()#attached等)和客户端(Drupal.behaviors等)的Drupal JavaScript API。)

您还需要了解Drupal的各种API。 Form API不是唯一的。您需要了解菜单系统(页面,访问,标题和交付回调,如何向其传递参数等),用于异步操作的队列API,用于长时间运行操作的批处理API,用于用户可编辑结构化的实体和字段API数据,主题API和渲染数组,用于任何演示,缓存API,架构和数据库API,文件API,缓存API和本地化API。