This may be a documentation issue, but I cannot for the life of me figure out why neither THEME_preprocess_search_block_form or ENGINE_preprocess_search_block_form is not being registered. template_preprocess_search_block_form from search.module is working, but the other functions one would think might be operative here aren't.

To duplicate, add the following to your template.php under garland with the search block enabled:

function garland_preprocess_search_block_form(&$variables) {
  print "Hello world, from the search block";
}

function garland_preprocess_page(&$variables) {
  print "Hello world, from the page";
}

Clear cache or otherwise rebuild the registry. One will fire, the other won't. Curious...

Comments

dvessel’s picture

See these..

http://drupal.org/node/173880#theme-registry

http://drupal.org/node/223463

It's a limitation of how forms are discovered. The search form works because it is already themed. Any others needs to work with hook_theme().

dvessel’s picture

Oh, never mind. search_block_form is done as a theme function. Did you copy over the template file? It is a requirement for the preprocessors to register.

I modified the docs so that point is easier to spot. http://drupal.org/node/223430

dvessel’s picture

Component: theme system » documentation
Category: bug » task
Status: Active » Fixed
Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.