when-not-a-module-for-that/blog-when-not-a-module-for-that-resources.md
2020-05-01 00:22:49 -04:00

50 lines
1.2 KiB
Markdown

Definitively slay the mythology that module-making is a mystic domain of Drupal druids.
https://api.drupal.org/api/drupal/core%21core.api.php/group/extending/
https://api.drupal.org/api/drupal/core!core.api.php/group/hooks/
Use Git: don't be afraid to change things.
Use a debugger.
### Hooks work by naming convention.
To implement a hook, take the 'hook' part off the hook name and replace it with your module's (machine) name.
### When to Contribute?
When your module fills a need larger than your precise use case.
Note: If you just want to build a module, finding a module idea that one or more people have been asking for is a good way to meet a need and avoid duplication.
See also http://groups.drupal.org/
contributed-module-ideas
### Finding a Drupal Function that Does What You Need
* Identify a page that produces output like what you want to see.
* Look up the page callback function for that page's menu item.
* See what functions are used (or database queries made) in the page callback function.
`grep -nHR --include=*.module 'admin/appearance' modules`
### Error messages mean progress!
`Parse error: syntax error, unexpected ';', expecting ')'`
You are having an effect on the world. Or at least your local site.