The Advanced help module provides a framework that allows module and theme developers integrate help texts in a Drupal site. Although the advanced help does not provide general help by itself, it provides a powerful and easy framework that modules and themes may use to provide their own help.

Modules and themes utilizing Advanced help should create a subdirectory named help inside their own main directory. Place the file (resp. in this subdirectory. formatted similar to the following example:

title = About PHP
file = about-php
weight = -10

title = History of PHP
parent = about-php

title = Usage of PHP
weight = 1

title = Security of PHP
weight = 2

title = PHP syntax
parent = usage

This file defines five help topics (inside the square brackets, and some settings for them. See: Advanced help .ini file format for a list of defined settings.

All topics are addressed by the module or theme providing the topic, and by the topic id. To produce a themed link to popup about a topic, use the a format similar to the following example:

$output = theme('advanced_help_topic', array(
  'module' => 'help_example',
  'topic' => 'about-php',
$output .= ' ' . t('Click the help icon!');

This produces the following output:

<a class="advanced-help-link" title="About PHP"
  onclick="var, 'advanced_help_window',
  w.focus(); return false;"
 Click the help icon!

This produces a clickable help icon like the one shown below:

clickable icon

Inside your help file, you may link to other help topics using this format:

<a href="&topic:module/topic&">topic</a>

This format will ensure the popup status remains consistent when switching between links.

To reference items within the help directory, such as images you wish to embed within the help text, use:

<img src="&path&example.png"/>
<img src="&trans_path&example.png"/>

The latter is to refer to a translated version of the image if it differs from the original.

To reference any normal path in the site, use:

<a href="&base_url&admin/settings/site-configuration">anchor text</a>

NOTE: In previous versions Advanced help did not require the &'s to be wrapped around topic:, path, and base_url. This is currently still supported, but may be removed in a future version. By adding the &'s these tokens are now not limited to href="" and src="" parameters.

Access control

When this module is installed, users with the view advanced help index permission can access the advanced help index by going to Administer → Advanced Help (admin/advanced_help). Additional permissions view advanced help topic and view advanced help popup enable users to access the actual help pages and popups.

The help texts are stored as plain .html-files and can, unless protected, be accessed by anyone who knows their URL. To protect them, place the following four lines in a file named .htaccess in project's help directory:

<Files *\.html>
Order Allow,Deny
Deny from all

It as the responsibility of the project author to make sure this type of protection is in place if the project's author has help files that merits protection from direct access.

See also this tracker in the project's issue queue: #1980936 Typing complete path to .html help files in module bypasses user permissions.

If the core Search module is enabled, the contents of the advanced help framework will be indexed on cron. If you enable new modules or themes and wish to immediately index their help text, navigate to Administration → Reports → Status report and click the link “run cron manually”.