我正在尝试写出关键的 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() - 如果您需要利用用户操作或修改用户对象。