Change hook order

Different implementations of the same hook execute in an order based on the weight value in the system table then the alphabetical order. You can change the order by updating the weight in the db but it could be more fine tuned to just change the hook order by using hook_module_implements_alter().

  1. /**
  2.  * Implements hook_module_implements_alter().
  3.  */
  4. function mymodule_module_implements_alter(&$implementations, $hook) {
  5. // Function authcache_authcache_preclude must be executed after
  6. // anothermodule_authcache_preclude.
  7. if($hook == 'authcache_preclude') {
  8. if (array_key_exists('authcache', $implementations)) {
  9. $my_module = $implementations['authcache'];
  10. unset($implementations['authcache']);
  11. $implementations['authcache'] = $my_module;
  12. }
  13. }
  14. }

Static variable usage

there is a drupal wrapper for static variables: drupal_static()

Simple modal output with Ctools

Modal window provided by Ctools was designed to output forms but it can serve simple html as well.

Connect to an external db

Sometimes it is useful to use another database than the one installed by default by Drupal.

usefull image functions

how to get an image path or theme a preset image ?

override a default .tpl.php file in theme

To override a default .tpl.php file (to NOT use the page.tpl.php file for instance but page--mysnippet.tpl.php)

Programmaticaly insert block

to output a block created by a module in code, use:

View hooks order

The execution order of view hooks is important if you don't want your tweaks to be overridden

Drupal module list: lesser known

Huge list. I'm sure these Drupal modules will help in the future... if they are not currently used yet!! Always rely on (good...) modules built by the Drupal community than write your own!

Send an email

There is unfortunately no easy way to send an email in Drupal... and no way to send an html email using core functions!!

Firebug console error prevention

If you need to publish code that contains "console" calls (for instance console.log with firebug) and don't want javascript to be broken on browser that don't have console enabled, this function is useful: