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. }

Display errors - WSOD

The bootstrap override the values you could set to display error ad the reporting level. To be 100% sure everything is printed out when something fails in a blank screen (wsod), make index.php like this:

Properly render a field

Drupal offers a few (sometimes complicated...) solutions to output a field. Lets take an example with a date field.
To display the full rendered field: field_view_field()

Using once()

ensure ajax reload don't apply the behaviours for items already processed

Change the theme

Programmatically change the theme on runtime by implementing hook_custom_theme()

Manually clear caches

for views and panels

Add a Jquery ui library

get the library names to use in /misc/ui folder

Embed a custom page

Get the rendered output of a custom page created with page manager (ctools) module

Embed a mini panel

Get the html output of a mini-panel

alter / automatize the install process

in the .profile file of the install profile (here "mysnippet" profile)

Aegir: perform custom tasks after a new site is installed

in a custom module, in a file called mysnippet.drush.inc (keep in mind that the install process is handled by drush...)