Вчера установил на домовую страницу модуль поиска из ядра Друпала. Немедленно выяснилась проблема с переводом: заголовок поисковой страницы называется "Search", и на кнопке поиска тоже написано "Search". Очевидно, что перевод слова повлечет одинаковую надпись в заголовке и на кнопке. А мне хочется, чтобы страница называлась "Поиск", а на кнопке был глагол. Лезть при этом в код модуля не очень хочется, так как при следующем же обновлении придется делать все заново. Но есть прекрасный хук hook_form_alter
, которым можно дополнить специальный модуль:
/**
* Изменяет форму поиска, заменяя надпись на кнопке
*
* @param array $form
* @param array $form_state
* @param string $form_id
*/
function tweaks_form_alter(&$form,$form_state,$form_id) {
$correct_button = array('#type' => 'submit', '#value' => 'Найти');
if ($form_id == 'search_form') {
$form['basic']['inline']['submit'] = $correct_button;
}
if (($form_id == 'search_box') || ($form_id == 'search_block_form')) {
$form['submit'] = $correct_button;
}
} //function tweaks_form_alter
Гражданам, желающим получить более гибкое решение, предлагается изменить первую строчку функции
$correct_button = array('#type' => 'submit', '#value' => t('Search btn'));
и затем перевести "Search btn" по вкусу.