Вы определенно используете template.php, где вы подготавливаете переменные для печати в файле .tpl.php. В этом случае вы хотите добавить функцию предварительной обработки на хук search_theme_form. Чтобы присоединить новую функцию препроцессора к хуку тем, напишите функцию в template.php следующим образом:
function MYTHEME_preprocess_search_theme_form(&$variables) {
//do stuff
}
Вы захотите очистить кеш, прежде чем появятся какие-либо изменения. Здесь вы можете добавить вещи, которые будут напечатаны в шаблоне.
function MYTHEME_preprocess_search_theme_form(&$variables) {
$variables['whatever'] = 'hi there';
}
Позже в шаблоне вы можете вызвать это, написав print $ what; и он напечатает значение. Тем не менее, обычно я не изменяю search_theme_form.tpl.php, поэтому не перезаписываю его в своей теме и не использую настройки по умолчанию для drupal.
Вот пример того, как я добавил свою собственную функцию предварительной обработки в search_theme_form, чтобы удалить глупую метку в элементе формы, а также чтобы значение по умолчанию для текстовых полей исчезло в фокусе.
function MYTHEME_preprocess_search_theme_form(&$variables) {
unset($variables['form']['search_theme_form']['#title']);
unset($variables['form']['search_theme_form']['#printed']);
$variables['form']['search_theme_form']['#value'] = 'Search';
$variables['form']['search_theme_form']['#attributes'] = array('onfocus' => "if (this.value == 'Search') {this.value = '';}" );
$variables['search']['search_theme_form'] = drupal_render($variables['form']['search_theme_form']);
$variables['search_form'] = implode($variables['search']);
}
Надеюсь, это ответит на некоторые ваши вопросы и направит вас в правильном направлении.