5

我正在尝试写出关键的 Drupal 能力列表,主要是为了确认我知道、不知道和不知道我不知道的内容。(感谢 D. Rumsfeld 的引用!)

我认为其中一些非常广泛,例如制作功能主题和创建具有良好 SEO、加载时间等的主题之间存在很大差异,但我希望你可以假设一个半体面的 Web 开发人员看起来无论如何,在那之后。

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

语言

  • PHP
  • MYSQL
  • 询问

Drupal 技能

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

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

意见

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

CCK

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

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

  • hook_form_alter() - 更改表单而不更改代码。
  • 钩子菜单()
  • 钩子主题()
  • hook_nodeapi() - 几乎所有关于节点的东西
  • hook_schema() - 创建表
  • hook_install() / hook_uninstall() - 创建表并清理。
  • hook_perm() - 当你需要特殊的访问控制时。
  • hook_init() - 总是希望发生的事情。
  • hook_user() - 如果您需要利用用户操作或修改用户对象。
4

6 回答 6

3

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

于 2010-05-13T08:27:47.047 回答
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,您就会发现您的时间已经得到了很好的利用。

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

  • hook_form_alter() - 更改表单而不更改代码。
  • 钩子菜单()
  • 钩子主题()
  • hook_nodeapi() - 几乎所有关于节点的东西
  • hook_schema() - 创建表
  • hook_install() / hook_uninstall() - 创建表并清理。
  • hook_perm() - 当你需要特殊的访问控制时。
  • hook_init() - 总是希望发生的事情。
  • hook_user() - 如果您需要利用用户操作或修改用户对象。

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

于 2010-05-13T10:37:43.407 回答
1

由于我们这些天与网络相关的任何事情,您确实必须对 HTTP 协议有很好的了解。您还需要对 JavaScript、DOM、CSS 和 HTML5 有很好的理解。对于开发人员来说,了解一点 jQuery 是不够的,您需要了解您正在使用 DOM、HTML5 API 和 CSS 做什么,以便在浏览器中构建功能和行为。您还需要了解服务器端( 、 等)和客户端( 等)的 Drupal hook_library()JavaScript #attachedAPI Drupal.behaviors

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

于 2012-02-16T14:12:19.177 回答
1

您不需要模板的 SEO 技能,drupal 通常对 SEO 有很大帮助。当然,对设计进行切片的开发人员必须知道所有标题都必须使用 h1、h2、h3、h4 标记。这真的很基本。一切都取决于drupal ..

至于我认为要成为drupal“开发人员”,您需要一些非常基本的PHP技能。因为 drupal 是在没有面向对象编程的情况下编写的,也没有设计模式,所以这两件事真的让你成为一名程序员.. 没有它们它只是 [对不起这个词] 胡说八道而不是编程。

我认为任何人都可以安装 drupal 或 wordpress 或一些 cms-made-simple 系统,如果您在生活中至少连接过一次 ftp……为它们开发插件是 php 的基本技能。当然,如果您会找到熟练的开发人员,那么他将了解 oop 基础,并且会使用 OOP 编写插件,并且该代码将非常好!=)

于 2010-05-13T17:17:52.087 回答
1

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

于 2010-05-13T17:20:31.460 回答
1

到目前为止很棒的清单!其他一些供考虑:

  • 能够使用Drush更新或设置站点
  • 对 Drupal 站点的性能、安全性和 SEO 的最佳最佳实践配置有深入的了解(想想启动清单)
  • 向 Drupal.org 提交了一个模块(无论多么简单)或提交了一个补丁(获取 CVS 帐户和获取您的第一个代码的过程对社区和标准具有指导意义)
于 2010-05-13T17:05:23.360 回答