Как поменять кнопку "поиск" на imageField?

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

Аватар пользователя poe poe 27 мая 2007 в 23:28

Никак не могу найти, где это настраивается. Моя задача сделать так, чтоб модуль поиска выводил на страницу вместо кнопки submit подобранную картинку mageField.
Понятное дело, внешний имеющейся кнопки можно значительно менять за счет css-стиля form-submit.
Однако мне нужно вставить именно картинку в виде стрелки. То есть средствами css-настроек этого не достичь. Где в самом модуле поменять submit на mageField я не смог найтиЮ, как не искал.
Прошу помочь советом!

Комментарии

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 27 мая 2007 в 23:41

Вставьте в файл template.php вашей темы оформления такую функцию:

function phptemplate_search_theme_form($form) {
  /**
   * This snippet catches the default searchbox and looks for
   * search-theme-form.tpl.php file in the same folder
   * which has the new layout.
   */

  return _phptemplate_callback('search-theme-form', array('form' => $form));
}

А в каталог темы добавьте файл search-theme-form.tpl.php примерно такого содержания:

<input type="text" maxlength="128" name="search_theme_form_keys" id="edit-search_theme_form_keys"  size="25" value="" title="" class="form-text" />
<input type="submit" name="op" value="" class="form-submit" src="images/search.gif"  />
<input type="hidden" name="form_id" id="edit-search-theme-form" value="search_theme_form" />
<input type="hidden" name="form_token" id="a-unique-id" value="<?php print drupal_get_token('search_theme_form'); ?>" />

Картинка-кнопка - images/search.gif, а точное местоположение можно отрихтовать через CSS,

Аватар пользователя igdrasil@drupal.org igdrasil@drupal.org 28 мая 2007 в 1:09

посмотрите, как в теме ZEN сделана форма поиска, поможет... а стандартный поиск лучше отключить.... если хотите какие-то возможности из стандартной Навигации" прописать - пишите в нужное меню, они потом исчезнут из старого

Аватар пользователя marazmus marazmus 28 мая 2007 в 9:56

2 vadbars проще надо быть, проще
Может, улыбочку вставите? Иначе для людей без чувства юмора это выглядит как "vadbars, не вые...ся"

2vadbars: спасибо за конкретный ответ.

Аватар пользователя Временный-Vladimir Временный-Vladimir (не проверено) 22 ноября 2007 в 20:47

В файл template.php вставляем две функции:
<?php
function phptemplate_search_block_form($form) {
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Search'),
'#button_type' => 'image',
'#attributes' => array( 'src' => '/themes/arn/images/search_button.gif' )
);
return '

'. drupal_render($form) .'

';
}

function phptemplate_button($element) {
// begin From original form.inc
if (isset($element['#attributes']['class'])) {
$element['#attributes']['class'] = 'form-'. $element['#button_type'] .' '. $element['#attributes']['class'];
}
else {
$element['#attributes']['class'] = 'form-'. $element['#button_type'];
}
// return '\n";
// end From original form.inc

//**************************************
// here the novelty begins: check if #button_type is normal submit button or image button
$return_string = '\n";;
return $return_string;
//**************************************
}?>
-------------------------------------
спасибо мне

Аватар пользователя Marss Marss 20 октября 2008 в 13:44

Еще проще надо быть ))

#search #edit-submit {
width:69px;
height: 20px;
padding: 25px 0 0;
margin: 0;
border: 0;
background: transparent url('./images/search-button.gif') no-repeat center top;
overflow: hidden;
cursor: pointer; /* hand-shaped cursor */
cursor: hand; /* for IE 5.x */
}
#search form>#edit-submit { /* For non-IE browsers*/
height: 0px;
}

Аватар пользователя shershen84 shershen84 17 ноября 2008 в 14:16

товарищи, ну вот вы можете мне пояснить почему ...??
почему ни одно из приведенных многоумных решений у меня ... не работает?
и так в большинстве случаев с этой ЦМС на этом ... форуме

прям руки опускаются когда при желании сделать то или иное улучшение
ковыряешься час и в итоге бросаешь...почему тут все так неочевидно и недостоверно,
как например в Joomla...это не реклама, а крик души..