Form declaration (from menu to submit)
Output a simple form, with validation and submit handlers
/* * Implementation of hook_menu() */ function mysnippet_menu() { 'title' => 'A basic form', 'description' => 'Example to create a form, validate and handle submitted values', 'page callback' => 'drupal_get_form', // we want a form 'access arguments' => array('basic permission'), //only users with this permission enabled have access to the form otherwise use 'access callback' => TRUE, ); return $items; } /* * Implementation of hook_form() */ function mysnippet_create_form($form, &$form_state) { //the documentation of the form API can be found here: http://drupal.org/node/1702548 '#type' => 'textfield', // we define a simple text field '#title' => 'What is your name?', '#description' => 'you can not enter here Drupal...', '#required' => TRUE, //we do not want an empty value ); return $form; } /* * Implementation of hook_form_validate() */ function mysnippet_create_form_validate($form, &$form_state) {//submitted values are hold in $form_state['values'] // dpm($form_state['values']) //to see them all if($form_state['values']['name']=='Drupal') { // we verify that the name is not Drupal form_set_error('name', 'You can not use Drupal here...'); // if yes we set an error on the field name } } /* * Implementation of hook_form_submit() */ function mysnippet_create_form_submit($form, &$form_state) { //we use variable_set to record our values in the database (table variable) //we display a confirmation message }
override a default .tpl.php file in a custom module
to basically use a template file in a custom module use the hook_theme_registry_alter(&$theme_registry) like this
Testing date fields: strtotime tips
Unit testing the creation of a node with a date field could fail because of wrong interpretation of the date by strtotime function
Enable block
There is no available API to programmatically set a block. Like Drupal core does, we have to use db directly.
simpletest: count checkboxes checked
Sometimes it is useful to know exactly the amount of options enabled with a xpath expression
Add a conditional stylesheet for IE
the options of drupal_add_css allow the use of conditional stylesheets
debug drush (and php-cli)
Drush uses the cli version of php so traditional debugging tools and functions don't work.
Create an image style
to create in code, programmatically an image style (previously called image cache preset)
Current path alias
to get the current page alias path use
Unset core stylesheet in a custom theme
by using use hook_css_alter() in template.php
- ‹ previous
- 2 of 5
- next ›