nasir
nasir

Reputation: 25

how to edit search area in drupal

In my site www.rchealth.co.uk, I want to add the search.

I have enabled the search module and the search block is in the header, now I want to customize the search look and feel to look better.

I have searched and found some methods like http://systemseed.com/blog/how-customise-search-box-drupal-6 and http://drupal.org/node/154137

I followed the steps but I am still unable to edit the template. My drupal version is 6.17

i pasted this code in template.php

function accordlaw_preprocess_search_block_form(&$vars, $hook) {
  // Modify elements of the search form
  unset($vars['form']['search_block_form']['#title']);

  // Set a default value for the search box
  $vars['form']['search_block_form']['#value'] = t('Search RC Health');

  // Add a custom class to the search box
  // Set yourtheme.css > #search-block-form .form-text { color: #888888; }
  $vars['form']['search_block_form']['#attributes'] = array(
     'onblur' => "if (this.value == '') {this.value = '".$vars['form']['search_block_form']['#value']."';} this.style.color = '#000000';",
     'onfocus' => "if (this.value == '".$vars['form']['search_block_form']['#value']."') {this.value = '';} this.style.color = '#000000';"
  );

  // Modify elements of the submit button
  unset($vars['form']['submit']);

  // Change text on the submit button
  //$vars['form']['submit']['#value'] = t('Go!');

  // Change submit button into image button - NOTE: '#src' leading '/' automatically added
  $vars['form']['submit']['image_button'] = array('#type' => 'image_button', '#src' => base_path() . path_to_theme() . '/images/search-button.png');

  // Rebuild the rendered version (search form only, rest remains unchanged)
  unset($vars['form']['search_block_form']['#printed']);
  $vars['search']['search_block_form'] = drupal_render($vars['form']['search_block_form']);

  // Rebuild the rendered version (submit button, rest remains unchanged)
  unset($vars['form']['submit']['#printed']);
  $vars['search']['submit'] = drupal_render($vars['form']['submit']);

  // Collect all form elements to print entire form
  $vars['search_form'] = implode($vars['search']);
}

Upvotes: 0

Views: 2353

Answers (1)

Laxman13
Laxman13

Reputation: 5211

You say the search block is in the header... do you mean the theme search? The code you are using is for the block search form.

The most likely reason that you can't see the search form when not logged in as administrator is that you have not given the correct permissions to use 'search' to anonymous (and possibly authenticated) users.

To change the look/feel/functionality of the theme search in the header of your theme, you can always use a template file (search-theme-form.tpl.php) as well.

Copy search-theme-form.tpl.php from "/modules/search" and paste it into your theme directory. Make any edits you want, then clear your cache at "www.example.com/admin/settings/performance".

More information on using search-theme-form.tpl.php:
search-theme-form.tpl.php (Drupal Docs)
How to Theme the Search Form for Drupal 6

Upvotes: 2

Related Questions