Function über preprocess/template.php anpassen
am 26.09.2014 - 14:15 Uhr in
Hallo Community,
ich möchte gerne den (englischen) Text im Suchbutton meiner Suche auf deutsch umstellen. Spricht von "Search" auf "Suche". Dafür soll die preprocess-Methode dienen die ich in meine template.php einbinden möchte. Bei der normalen "block-search-form" hat dass auch ohne Probleme funktioniert. Ich verwende jetzt aber die "search_api_page_search_form" aus dem "Search API Page" Modul. Egal in welcher Art und Weise ich diese Funktion nun versucht habe einzubinden - nichts hat sich bisher getan. Der Quelltext zur Funktion (Funktion zu finden unter "modules/search_api_page/search_api_page.module" lautet:
function search_api_page_search_form(array $form, array &$form_state, Entity $page, $keys = NULL, $compact = FALSE) {
$form['keys_' . $page->id] = array(
'#type' => 'textfield',
'#title' => t('Enter your keywords'),
'#title_display' => $compact ? 'invisible' : 'before',
'#default_value' => $keys,
'#size' => $compact ? 15 : 30,
);
if ($compact) {
$form['keys_' . $page->id]['#attributes']['placeholder'] = t('Enter your keywords');
}
$form['base_' . $page->id] = array(
'#type' => 'value',
'#value' => $page->path,
);
$form['id'] = array(
'#type' => 'hidden',
'#value' => $page->id,
);
$form['submit_' . $page->id] = array(
'#type' => 'submit',
'#value' => t('Search'),
);
if (!$compact) {
$form = array(
'#type' => 'fieldset',
'#title' => check_plain($page->name),
'form' => $form,
);
if ($page->description) {
$form['text']['#markup'] = '
' . nl2br(check_plain($page->description)) . '
';
$form['text']['#weight'] = -5;
}
}
return $form;
}
Ich hoffe ihr könnte mir helfen,
bei weiteren Fragen stehe ich gerne zur Verfügung! :)
- Anmelden oder Registrieren um Kommentare zu schreiben
Keine Template-Funktion nötig in diesem Fall
am 26.09.2014 - 15:39 Uhr
Alles, was in der t-Funktion steht (in diesem Fall "t('Search')") kann mit der normalen Übersetzungsfunktion von Drupal übersetzt werden oder mit dem Module stringoverrides verändert werden. Das über das Template zu regeln ist zwar kein Hack aber völlig unnötig.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: CMS Security & Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
Außerdem stellt sich eher die
am 27.09.2014 - 13:31 Uhr
Außerdem stellt sich eher die Frage, wie DEINE Funktion aussieht, nicht wie die Funktion aussieht,die das Formular erstellt.
hook_form_alter wäre der Weg
am 27.09.2014 - 21:58 Uhr
Wenn es nötig sein sollte, ein Formular zu modifizieren, das ein anderes Module(egal ob Core oder Contrib) erstellt hat, ist hook_form_alter der beste Weg.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: CMS Security & Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
Vielen Dank
am 30.09.2014 - 14:09 Uhr
Danke, mit dem stringoverrides-Modul klappt alles wunderbar!