Nachrichten von Drupal überschreiben in Template.php?

am 24.09.2013 - 09:06 Uhr in
Hallo zusammen
Ich möchte gerne folgendes realisieren. Drupal Nachricht entsprechend ändern.
z.B bei der Registrierung
1. Eine Willkommensnachricht mit weiteren Anweisungen wurde an Ihre E-Mail-Adresse geschickt.
2. Sie haben soeben Ihren Link zum einmaligen Anmelden verwendet. Bitte ändern Sie Ihr Passwort.
3. Die Änderungen wurden gespeichert.
Möchte ich anders ausgeben.
z.B bei der Node Erstellung&aktualisierung mit Inhaltstyp1 und Inhaltstyp 2
1. Inhaltstyp1 test wurde erstellt.
2. Inhaltstyp1 test wurde aktualisiert.
Was ich gemacht habe. Aus Node.Pages.inc habe ich diesen PHP übernommen und in Template.php kopiert
Chache gelöscht. Leider funktioniert meine Vorgehensweise nicht.
<?php
function test_form_submit($form, &$form_state) {
$node = node_form_submit_build_node($form, $form_state);
$insert = empty($node->nid);
node_save($node);
$node_link = l(t('view'), 'node/' . $node->nid);
$watchdog_args = array(
'@type' => $node->type,
'%title' => $node->title,
);
$t_args = array(
'@type' => node_type_get_name($node),
'%title' => $node->title,
);
if ($insert) {
watchdog('content', '@type: added %title.', $watchdog_args, WATCHDOG_NOTICE, $node_link);
drupal_set_message(t('@type %title has been created.', $t_args));
}
else {
watchdog('content', '@type: updated %title.', $watchdog_args, WATCHDOG_NOTICE, $node_link);
drupal_set_message(t('@type %title has been updated.', $t_args));
}
if ($node->nid) {
$form_state['values']['nid'] = $node->nid;
$form_state['nid'] = $node->nid;
$form_state['redirect'] = node_access('view', $node) ? 'node/' . $node->nid : '<front>';
}
else {
// In the unlikely case something went wrong on save, the node will be
// rebuilt and node form redisplayed the same way as in preview.
drupal_set_message(t('The post could not be saved.'), 'error');
$form_state['rebuild'] = TRUE;
}
// Clear the page and block caches.
cache_clear_all();
}
- Anmelden oder Registrieren um Kommentare zu schreiben
Du kannst nicht beliebige
am 24.09.2013 - 10:27 Uhr
Du kannst nicht beliebige Funktionen in Deinem Theme überschreiben, sondern nur theme- und preprocess-Funktionen. Was Du willst, braucht eine hook_form_alter Funktion in einem eigenen Modul. In dieser Funktion kannst Du dann die Submit-Funktion des Formulars durch den Aufruf einer eigenen Funktion ersetzen. Diese Funktion sollte einen eindeutigen (bisher nicht vergebenen) Namen bekommen und könnte im gleichen Modul untergebracht werden.
Beste Grüße
Werner
Ich bedanke mich Werner. Ich
am 24.09.2013 - 12:08 Uhr
Ich bedanke mich Werner.
Ich werde schauen was ich daraus machen kann. Da muss ich noch üben :-)
LG
Sven