Texte in Kommentareingabe modular ändern
Eingetragen von Peter Majmesku (656)
am 17.05.2010 - 08:11 Uhr in
am 17.05.2010 - 08:11 Uhr in
Hi Community,
ich habe versucht, über hook_node_api(), hook_form_alter() und hook_menu() sowie deren Objekte $form, $items und $node an die Zeichenketten ranzukommen. Denn ich möchte gerne die dort befindlichen Texte (wie z.B. "Auf Kommentar antworten") verändern. Dies möchte ich gerne modular machen, ohne die Übersetzung umzuschreiben.
Der Text "Auf Kommentar antworten" kommt selbstredend vom Comment Core-Modul und wird mittels dem comment_menu()-Hook ausgegeben. Will ich das $items-Objekt jedoch in mein_modul_menu(); abgreifen, so erhalte ich keinen Wert. Auch mit dem Dump nicht:
<?php
function mein_modul_menu_alter(&$items) {
var_dump($items);
$items['user/%user/../../node/add/product'] = array(
'title' => 'Create auction Testtext',
'page callback' => 'alternative_auction_object',
'page arguments' => array(1, 'user'),
'access callback' => 'user_access',
'access arguments' => array('access content'),
'type' => MENU_LOCAL_TASK,
'weight' => 99,
);
return $items;
}
?>
Ahnt jemand, woran es hakt?
HAND
- Anmelden oder Registrieren um Kommentare zu schreiben
z.B. in template.php function
am 06.06.2010 - 17:35 Uhr
z.B. in template.php
function THEMENAME_preprocess_box(&$vars, $hook) {
switch($vars['title']) {
case t('Post new comment'):
$vars['title'] = t('Was meinen Sie?');
break;
}
}
Ist übel ich weis, leider aber der einzige Weg z.Z. Details hier: http://drupal.org/node/223430
Link-Titel verändern
am 06.06.2010 - 19:17 Uhr
Hallo.
1.:
$vars['title'] = t('Was meinen Sie?');
. Sorry, jedoch ist dies grundsätzlich falsch. Die Funktion [api:t] erwartet Texte in englischer Sprache. Diese werden dann übersetzt.2.
leider aber der einzige Weg
Glücklicherweise gibt es einige andere Wege, die Link-Texte zu ändern.
So kann man beispielsweise (ebenfalls in der template.php) in einer Implementierung von [api:template_preprocess_node] die Links einer Node (
$vars['node']->links
) durchlaufen und den Text des gewünschten Eintrages beliebig ändern.hth,
Stefan
1. Jain. Um den Titel im
am 07.06.2010 - 10:46 Uhr
1. Jain. Um den Titel im Kommentarformular zu ändern geht es wie beschrieben. Um Texte an anderen Stellen zu ändern gibt es div. Wege.
2. Ja, das t() ist nur im Case-Fall wichtig. So ist es auch ok:
function THEMENAME_preprocess_box(&$vars, $hook) {
switch($vars['title']) {
case t('Post new comment'):
$vars['title'] = 'Was meinen Sie?';
break;
}
}