как редактировать область поиска в друпале - PullRequest
0 голосов
/ 04 апреля 2011

На моем сайте www.rchealth.co.uk я хочу добавить поиск.

Я включил модуль поиска, и блок поиска находится в заголовке, теперь я хочу настроить вид поискаи чувствовать себя лучше.

Я искал и нашел несколько методов, таких как http://systemseed.com/blog/how-customise-search-box-drupal-6 и http://drupal.org/node/154137

Я выполнил все действия, но все еще не могу редактировать шаблон.Моя версия drupal 6.17

Я вставил этот код в 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']);
}

1 Ответ

2 голосов
/ 04 апреля 2011

Вы говорите, что поисковый блок находится в заголовке ... Вы имеете в виду поиск theme ?Код, который вы используете, предназначен для формы поиска block .

Наиболее вероятная причина, по которой вы не видите форму поиска, если вы не вошли в систему как администратор, состоит в том, что вы не указалиправильные разрешения на использование «поиска» для анонимных (и, возможно, прошедших проверку подлинности) пользователей.

Чтобы изменить внешний вид / функциональные возможности поиска theme в заголовке вашей темы, вы всегда можетеиспользуйте также файл шаблона (search-theme-form.tpl.php).

Скопируйте search-theme-form.tpl.php из "/ modules / search" и вставьте его в каталог вашей темы.Внесите любые необходимые изменения, затем очистите кэш по адресу "www.example.com/admin/settings/performance".

Подробнее об использовании search-theme-form.tpl.php:
search-theme-form.tpl.php (Drupal Docs)
Как оформить поисковую форму для Drupal 6

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...