Убрать слово поиск из кнопки поиска.(РЕШЕНО)

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

Аватар пользователя cpu cpu 14 декабря 2008 в 18:37

Почитал документацию, везде пишут темизация форм, и т.п.
Нашел, как изменить добавить border или местами поменять, а убрать слово ПОИСК, или заменить на свое, нет.
Может есть статейка, где досканально обьясняется, какая функция в формах, за что отвечает. Ну или скиньте, как убрать это слово.

Комментарии

Аватар пользователя cpu cpu 14 декабря 2008 в 20:38

print_r($form) показывает вот что

 [submit] => Array
     ( ...
       [#value] => Поиск
       ...
     )

Делаю в template.php так

function zen_search_theme_form($form)
{
 $form['submit']['#value'] = none;
}

В следствии этого, пропадает вся кнопка ПОИСК.
Напомню, что нужно убрать слово поиск,а кнопку заменить на рисунок лупы.

ИМХО: только сел за Друпал.Неужели так тяжело переделывать формы.Что делать человеку,незнающему PHP?

Аватар пользователя cpu cpu 14 декабря 2008 в 22:12

Проблема в том, что, чему бы я не приравнивал $form['submit']['#value'], кнопка пропадает.
Сразу оговорюсь, вот ф-ия которую я вставляю в template.php

function zen_search_theme_form($form)
{
 $form['submit']['#value'] = none;
}

Мне там ничего не надо добавлять, или менять?
Судя по темизация форм, ничего.

Аватар пользователя Vladimir_VVV Vladimir_VVV 14 декабря 2008 в 23:12

а возвращаете что в return?
вот на 6 у меня все ок:

function phptemplate_search_theme_form($form) {
$form['submit']['#value']=NULL;
 return drupal_render($form);
  }

или

function phptemplate_search_theme_form($form) {
$form['submit']['#value']='искалово';
 return drupal_render($form);
  }

и еше при всяких жестких изменениях в конфигурации темы вставляйте в template.php

или девелом очищайте.

Аватар пользователя karakum karakum 15 декабря 2008 в 8:44

тоже интересует это.
а разве в "недрах" друпала не хранится где-то в настройках это самое слово "Поиск"? так бы просто там его изменить и все.

Аватар пользователя Vladimir_VVV Vladimir_VVV 15 декабря 2008 в 9:52

так а код который я превел нормально же все меняет, а в "недрах drupal" это в переводах хотя это не так гибко как оверайд формы.

Аватар пользователя cpu cpu 15 декабря 2008 в 11:06

"Vladimir_VVV" wrote:
function phptemplate_search_theme_form($form) {
$form['submit']['#value']=NULL;
return drupal_render($form);
}

Вставил вот это.Не помогает(то же самое, пропадает кнопка).
C этим drupal_rebuild_theme_registry(); не совсем понял что делать.
Мне кажется, я что-то фундаментальное пропускаю.Не где не надо регистрировать функцию?

Аватар пользователя SaBoNim SaBoNim 15 декабря 2008 в 12:36

А в коде страницы у вас есть input этой кнопки?
Если есть, вам просто надо ее оформить стилями css.
Если нет, то я не знаю почему..

Аватар пользователя Vladimir_VVV Vladimir_VVV 10 ноября 2015 в 11:45

Вот код в template.php

drupal_rebuild_theme_registry();

function phptemplate_search_theme_form($form) {
$form['submit']['#value']='Искание';
 return drupal_render($form);
  }
 

после того как один раз страницу обновите с этим кодом, коментируете drupal_rebuild_theme_registry(); он нужен только для обновления регистра темы:

//drupal_rebuild_theme_registry();

function phptemplate_search_theme_form($form) {
$form['submit']['#value']='Искание';
 return drupal_render($form);
  }
 

после этого смотрите что у вас получается, у меня с вариантом ='Искание'; и =NULL; для темы garland
Вид для темы гарланд

Это для drupal 6, увас в тегах тоже 6 указан.

Аватар пользователя cpu cpu 15 декабря 2008 в 13:28

ЗАРАБОТАЛО!!!
Получается, что сброс кеша через админку не помогает.
Да Друпал 6-ой.
Пользуюсь темой ZEN, писали, что с неё надо начинать.
Если всех не достал еще, один вопрос, а где верстка
<?php print $search_box; ?> этого задается?

Аватар пользователя Vladimir_VVV Vladimir_VVV 15 декабря 2008 в 14:53

с регистром тем еще можно бороться через "выбрать другую тему, исходную отключить -> выбрать исходную и включить".
Верстка в search-theme-form.tpl.php скопируйте оригинал с
/modules/search/search-theme-form.tpl.php себе в папку с темой и опять обновить регистр тем.
вот я себе в template.php ничего не переназначал (лень было) а в
search-theme-form.tpl.php вставил такой код

<?php
$srch=array(
'Розового слона',
'Объявление',
'Квартиру',
'Новые фильмы',
'Фото Василия Пупкина',
'Инструкцию к туалетной бумаге',
'Свежий кин скачать бесплатно',
);
$txtsrch=$srch[rand ( 0, count($srch)-1)];

print preg_replace ( '/value=".*?"/' ,
'value="'.$txtsrch.'" onblur="if(this.value==\'\') this.value=\''.$txtsrch.'\';" onfocus="if(this.value==\''.$txtsrch.'\') this.value=\'\';" ',
$search['search_theme_form'] );

print $search['submit'];

print $search['hidden'];