Как изменить форму Поиск (Drupal 6)

Главные вкладки

Аватар пользователя konstantin86 konstantin86 23 июня 2011 в 4:34

Как изменить Поиск, таким образом, чтобы кнопки и надписи "Поиск на сайте" не было, но была надпись, типа, "Введите слово для поиска и нажмите Enter" и эта надпись должна быть в самой строке ввода, а по нажатии курсора исчезать, чтобы можно было вводить слова?
У меня форма поиска такая:

Комментарии

Аватар пользователя DURMAN DURMAN 17 июня 2013 в 12:34

alexxrin wrote:
[api=hook_form_alter]

Этим хуком можно собственно, если что, любую чужую форму изменить так как надо.


И как этим хуком воспользоваться? Просто скопировать код в page.tpl.php?

Аватар пользователя dem-on dem-on 23 июня 2011 в 12:31

а я хакнул ядро модуля search(search.module):
изменил функцию search_box вот так:

<?php
function search_box(&$form_state$form_id) {
  
$form[$form_id] = array(
    
'#title' => t(''),
    
'#type' => 'textfield',
    
'#size' => 15,
    
'#default_value' => 'Что ищете?',
    
'#attributes' => array('title' => 'Что ищете?''class' => t('NormalTextBox txtSearch'), 'onfocus' => t("if (this.value == 'Что ищете?') {this.value = '';}"), 'onblur' => t("if (this.value == '') {this.value = 'Что ищете?';}")),
);
  
$form['submit'] = array('#type' => 'image_button''#src' => 'files/theme/search_button.gif''#value' => t('Search'));
  
$form['#submit'][] = 'search_box_form_submit';

  return 

$form;
}
?>
Аватар пользователя DURMAN DURMAN 24 июня 2013 в 13:33

Как водиться на здешнем ресурсе отвечу сам себе и тем самым избавлю последователей от тех же граблей) Этот "хук" нужно добавлять в template.php (который я взял из темы Garland - /drupal/themes/garland/template.php), который нужно обязательно скопировать в свою тему (мы же не хотим портить наш друпал Lol
Но ещё не понял, как этим хуком пользоваться... видимо в следующем сообщении я вам поведую))))
ПыСы всё мною описанное соответствует 6-ой версии друпала.

Аватар пользователя alexxrin alexxrin 26 июня 2013 в 17:24

DURMAN wrote:
Как водиться на здешнем ресурсе отвечу сам себе и тем самым избавлю последователей от тех же граблей) Этот "хук" нужно добавлять в template.php (который я взял из темы Garland - /drupal/themes/garland/template.php), который нужно обязательно скопировать в свою тему (мы же не хотим портить наш друпал Lol
Но ещё не понял, как этим хуком пользоваться... видимо в следующем сообщении я вам поведую))))
ПыСы всё мною описанное соответствует 6-ой версии друпала.

Если вы правильно записали хук, то в вашу функцию передаются 3 параметра &$form, &$form_state, $form_id.
Собственно менять вам надобно $form, предварительно проверив, чтобы в $form_id был идентификатор нужной вам формы.
Чтобы понять что из себя представляет массив $form курите FormAPI.

Аватар пользователя DURMAN DURMAN 1 июля 2013 в 10:31

alexxrin wrote:

Если вы правильно записали хук, то в вашу функцию передаются 3 параметра &$form, &$form_state, $form_id.
Собственно менять вам надобно $form, предварительно проверив, чтобы в $form_id был идентификатор нужной вам формы.
Чтобы понять что из себя представляет массив $form курите FormAPI.

Спасибо, со временем придётся и до API добраться, я уж думал тут не принято отвечать на сообщения Smile Из-за этого хука у меня в теме (выбрал одну из предлагаемых тем и редактирую под свои задачи) в админ панели вместо "закладок" появился "список", что и как делать с этим добром не понял поэтому не придумал ничего лучшего чем удалить его из template.php. Единственное что я пока уяснил, не нужно копировать template.php из других тем и писать туда незнама что иначе будет только хуже Smile Теперь у меня меня в этом файле лишь одна функция, которая - изменяет вид "стрелочки" в "хлебных крошках".
От поиска мне нужно всего ничего - сделать кнопку в виде лупы (картинка без надписей), также заменить вид поля поиска (картинка с обрамлением) ну и разместить это всё по центру в своём новом регионе.
Пока пытаюсь разобраться как это сделали в других темах, сдвигов нет...