drupal


28
Jun 10

Create your first simple Drupal 7 module

Create your first Drupal 7 module with the following steps.

  1. Create a folder called helloworld in sites/all/modules/custom
  2. Create a helloworld.info file
  3. Create a template file page-helloworld.tpl.php in your theme directory
  4. Enable your module at http://domain.com/admin/build/modules
  5. Visit http://domain.com/helloworld

This belongs into your helloworld.info file

; $Id$
 
name = helloworld
description = Reinholds Hello World module
package = Reinholds modules
core = 7.x
 
files[] = helloworld.module

The helloworld.module file

<?php
	function helloworld_menu(){
	  $items = array();
 
	  $items['helloworld'] = array(
	    'title'            => t('Hello world'),
	    'page callback'    => 'helloworld_output',
	    'access arguments' => array('access content'),
	  );
 
	  return $items;
	}
 
	/*
	* Display output
	*/
	function helloworld_output() {
	  header('Content-type: text/plain; charset=UTF-8');
	  header('Content-Disposition: inline');
	  return 'helloworld';
	}
?>

The theme template file page-helloworld.tpl.php

<?php
print $content;
?>

28
Jun 10

Drupal 7 Themes – Browser specific CSS

In Drupal 6 you had to target IE specific CSS files by adding lines to your page.tpl.php or use an additional module which allows you to target browsers inside your theme.info file.

In Drupal 7 however, the recommended way is by using the use drupal_add_css() function in your template.php file.

function mytheme_preprocess_html(&$vars) {
  drupal_add_css(path_to_theme() . '/fix-ie.css', array('weight' => CSS_THEME, 'browsers' => array('IE' => 'lt IE 7', '!IE' => FALSE), 'preprocess' => FALSE));
}