| 1 |
// $Id$
|
| 2 |
|
| 3 |
ABOUT THIS MODULE
|
| 4 |
-----------------
|
| 5 |
|
| 6 |
The node form has a lot of room for improvement in terms of usability. Based
|
| 7 |
on work from the Usability group, this module was made to present different
|
| 8 |
alternatives to how the form is structured. Instead of merely looking at
|
| 9 |
mockups and screenshots, we may now trial the suggestions to get a better
|
| 10 |
understanding of how they work.
|
| 11 |
|
| 12 |
So far, vertical tabs and an accordion for fieldsets have been implemented.
|
| 13 |
|
| 14 |
Note: It only works with the Garland and Minelli themes for now.
|
| 15 |
|
| 16 |
For background to this module, please see these discussions:
|
| 17 |
http://groups.drupal.org/node/8365
|
| 18 |
http://groups.drupal.org/node/8305
|
| 19 |
http://drupal.org/node/190946
|
| 20 |
|
| 21 |
|
| 22 |
INSTALLATION
|
| 23 |
------------
|
| 24 |
|
| 25 |
1. Move the nodeform folder to your modules folder (often sites/all/modules)
|
| 26 |
|
| 27 |
2. Copy the following PHP function and paste it into the template.php file of
|
| 28 |
your theme (if using Garland, you will find it in themes/garland):
|
| 29 |
|
| 30 |
/**
|
| 31 |
* Implementation of theme_fieldset(), used to achieve custom styling of
|
| 32 |
* fieldsets on the node form.
|
| 33 |
*/
|
| 34 |
function phptemplate_fieldset($element) {
|
| 35 |
// If we're currently at a node form, prepare all fieldsets (except
|
| 36 |
// input formats) for further manipulation by jQuery and CSS.
|
| 37 |
if (arg(0) == 'node' && (arg(1) == 'add' && arg(2)) || (is_numeric(arg(1)) && arg(2) == 'edit')) {
|
| 38 |
if ($element['#parents'][0] != 'format') {
|
| 39 |
$element['#attributes']['id'] = form_clean_id('edit-'. implode('-', $element['#parents']) .'-fieldset');
|
| 40 |
$element['#attributes']['class'] = 'nodeform-fieldset';
|
| 41 |
}
|
| 42 |
}
|
| 43 |
|
| 44 |
// Pass the element on to the original theme function for theming.
|
| 45 |
return theme_fieldset($element);
|
| 46 |
}
|
| 47 |
|
| 48 |
3. Enable the module from Administer > Site building > Modules
|
| 49 |
|
| 50 |
4. Go to Administer > Content management > Post settings to select the
|
| 51 |
layout of the node form
|
| 52 |
|
| 53 |
|
| 54 |
CREDITS
|
| 55 |
-------
|
| 56 |
|
| 57 |
Development of this module by Joakim Stai. Vertical tabs implementation by
|
| 58 |
Bevan Rudge and Joakim Stai, based on mockups by SteveJB and others. Accordion
|
| 59 |
JS/CSS by Joakim Stai, based on mockups by couzinhub and others.
|
| 60 |
|
| 61 |
The alternatives presented here are results of numerous mockups and ideas
|
| 62 |
discussed on http://groups.drupal.org/usability.
|
| 63 |
|
| 64 |
jQuery UI Tabs 3 by Klaus Hartl.
|
| 65 |
jQuery Accordion by Jörn Zaefferer and Frank Marcia.
|