Темизация формы поиска в Drupal 7

Для темизации формы поиска в Drupal 7 надо сделать следующие:

  1. В папке с темой создать template.php
  2. В начале файла вставить:
    <?php
     закрывающий тег не нужен.
  3. Вставить код:
    function имя_темы_form_alter(&$form, &$form_state, $form_id) {
      if ($form_id == 'search_block_form') {
        $text = t('Поиск...');
        $form['search_block_form']['#title'] = $text; // Change the text on the label element
        $form['search_block_form']['#title_display'] = 'invisible'; // Toggle label visibilty
        $form['search_block_form']['#size'] = 30;  // define size of the textfield
        $form['search_block_form']['#default_value'] = $text; // Set a default value for the textfield
        $form['actions']['submit']['#value'] = t('GO!'); // Change the text on the submit button
        $form['actions']['submit'] = array('#type' => 'image_button', '#src' => base_path() . path_to_theme() . '/image/search.png');
    
        // Add extra attributes to the text box
        $form['search_block_form']['#attributes']['onblur'] = "if (this.value == '') {this.value = '$text';}";
        $form['search_block_form']['#attributes']['onfocus'] = "if (this.value == '$text') {this.value = '';}";
        // Prevent user from searching the default text
        $form['#attributes']['onsubmit'] = "if(this.search_block_form.value=='$text'){ alert('Please enter a search'); return false; }";
    
        // Alternative (HTML5) placeholder attribute instead of using the javascript
        $form['search_block_form']['#attributes']['placeholder'] = $text;
      }
    }
  4. имя_темы заменить на системное имя используемой темы
  5. Внутри папки с темой создать папку image, в которую скопировать картинку для кнопки поиска