I have a form, and want to programmatically alter the help text that displays at the top of the page. Is there a hook available to do this?
EDIT: by “help text”, I mean the text entered into the CCK form at: admin/content/node-type/sample-form
Above the textbox, it is labeled:
Explanation or submission guidelines:
The textarea has the id edit-help
Below, there is the text:
This text will be displayed at the top
of the submission form for this
content type. It is useful for helping
or instructing your users.
Is this specific enough?
The help texts are returned by the modules
hook_help()implementations, so for adding your own, this would be the place to look.As for altering a help text that gets set by a different modules
hook_help(), this is a bit more tricky. Take a look attheme_help()– this is where the help text gets assembled, via a call tomenu_get_active_help(), which in turn invokes the moduleshook_help()implementations.So your first option for this seems to be an override of
theme_help(), either by omitting the call tomenu_get_active_help()and setting your own value directly, or you make the call and modify the result before returning it.It will be a bit difficult to determine your context in that override, as the
theme_help()function gets called for every page rendered and does not offer any parameters from which you could get the information if you are on the right page (the form page you want to alter). You’d probably have to use the arg() function for this, if the forms page has a distinctly recognizable path structure.A second option to get at the help text would be one step later, by altering the content of the $help variable passed to page.tpl.php. You could implement your own
preprocess_page(&$variables)function and alter the content of$variables['help']there. You’d still need to find out if you are on the right page, but the $variables array contains a lot of information that could help you there.