123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- Admin 2.x
- =========
- The admin module provides UI improvements to the standard Drupal admin interface. The 2.x branch focuses on the following goals:
- 1. Sustainability - avoid excessive overrides of code, markup, and
- interface strings to ensure the module keeps the workload overhead
- on the maintainers and community to a minimum.
- 2. Pluggable/extensible architecture - ensure that admin serves as a
- starting point for other modules in contrib to implement admin
- interfaces.
- 3. Expose Drupal's strengths and downplay its weaknesses where possible.
- An honest approach to the underlying framework and architecture
- of Drupal will be less confusing to the user down the road.
- Admin is not an original work - many of its decisions have had direct
- influences from other work in the community:
- - [Administration menu](http://drupal.org/project/admin_menu)
- Daniel Kudwien (sun)
- - [Navigate](http://drupal.org/project/navigate)
- Chris Shattuck (chrisshattuck)
- - [d7ux](http://www.d7ux.org)
- Mark Boulton & Leisa Reichelt
- Installation
- ============
- 1. Install & enable the module.
- 2. Admin makes a permission available that allows only properly
- permissioned users to make use of the admin toolbar. Users with the
- 'use admin toolbar' permission will be able to use the toolbar.
- 3. You can configure the layout, position, and enabled tools for the
- admin toolbar on `admin/config/user-interface/admin`, or by navigating
- to `Administration > Configuration > User interface > Administration tools`
- Implementing your own Admin "plugins"
- =====================================
- Admin's "plugins" are simply Drupal blocks. In order to expose one of your
- module's blocks as one suitable for use in the admin toolbar you can set the `admin` key in your `hook_block()` to `TRUE`. Note that users can add any blocks to the admin toolbar if they wish at `admin/settings/admin`, though not all will work well in the context of the admin toolbar.
- /**
- * Implementation of hook_block().
- */
- function my_module_block($op = 'list', $delta = 0, $edit = array()) {
- switch ($op) {
- case 'list':
- $blocks = array();
- $blocks['example'] = array(
- 'info' => t('Example block'),
- 'admin' => TRUE
- );
- return $blocks;
- }
- }
- Theming your block and other tips
- =================================
- Your block should provide general rules for either of the admin toolbar
- layouts (horizontal or vertical). You can specify CSS rules using the
- following selectors:
- #admin-toolbar.horizontal {}
- #admin-toolbar.vertical {}
- Admin provides fairly decent defaults for the following Drupal core
- theme functions:
- - `theme('item_list')`
- - menu output (e.g. `menu_tree_output()`).
- - most form elements (with the exception of fieldsets)
- - admin panes (see below)
- Admin provides an additional FormAPI element type `admin_panes`. Admin
- panes allow you to fit multiple elements of content into a togglable
- interface. The panes will automatically adjust to the layout to the toolbar
- and display as either vertical tabs (horizontal layout) or accordian boxes
- (vertical layout).
- Here is an example of using admin panes in a form API array:
- $form['panes'] = array(
- '#tree' => FALSE,
- '#type' => 'admin_panes',
- 'foo' => array(
- '#title' => t('Pane 1'),
- ...
- ),
- 'bar' => array(
- '#title' => t('Pane 2'),
- ...
- ),
- );
- Note that each child element must have a #title attribute to be labeled
- properly.
- Contributors
- ============
- - yhahn (Young Hahn)
- - ajashton (AJ Ashton)
|