Simple block definition

Define and set content into a block. See hook_block_configure and hook_block_save if you want people be able to choose options.

  1. /*
  2. * Implements hook_block_info().
  3. */
  4. function mysnippet_block_info() { //define a new block
  5. $blocks['mysnippet']['info'] = t('Basic Block');
  6. return $blocks;
  7. }
  8.  
  9. /*
  10. * Implements hook_block_view().
  11. */
  12. function mysnippet_block_view($delta = '') { // define what to display
  13. switch ($delta) {
  14. case 'mysnippet':
  15. $block['subject'] = t('My title');
  16. $block['content'] = 'My custom block content'; // can off course be the return of a function...
  17. return $block;
  18. }
  19. }

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