[gelöst] CCK-Formular themen z.B. Speicher-Button anders bezeichnen
am 29.12.2011 - 15:31 Uhr in
Hallo Ihr Lieben,
ich hoffe, alle haben ein schönes Weihnachtsfest verlebt :-)
Aber auch im alten Jahr habe ich noch eine Frage zu einem Formular, welches mit CCK gemacht ist.
Die "normale" Bezeichnung für den Speicherbutton unten auf dem Formular ist "Speichern" und daneben gibt es noch einen Button "Vorschau".
Ich möchte nun beispielsweise den Button "Speichern" umbenennen in GO und den Vorschau-Button gar nicht anzeigen lassen.
Eine Möglichkeit dafür ist z.B. um das Formular ein extra div mit einer ID drum herumzulegen und dann per CSS die Änderungen in diesem Div vorzunehmen und die Beschriftung des Buttons könnte man über die JQuery ändern. Diese Technik ist mir geläufig.
Aber eigentlich suche ich nach einer ganz anderen Möglichkeit, das Ziel zu erreichen.
Es muß doch auch möglich sein, in der template.php Funktionen aus der FORM-API zu überschreiben.
Mein Ansatz dazu:
Wenn das cck-Formular den Inhaltstyp testcck hat, dann habe ich folgendes in die template.php geschrieben:
<?php
function themename_testcck_node_form($form) {
$form['submit']['#value']="GO";
return(drupal_render($form));
}
?>
Das funktioniert aber leider nicht.
Was mache ich denn da falsch ?
lieben Gruß
Daniela
- Anmelden oder Registrieren um Kommentare zu schreiben
Du mußt über
am 29.12.2011 - 16:07 Uhr
Du mußt über [api:hook_form_alter] gehen, um die Form zu ändern.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo Werner, da ist mir
am 29.12.2011 - 16:58 Uhr
Hallo Werner,
da ist mir meine Frage ja richtig peinlich so im Nachhinein :-(
Also dein Tipp ist genau richtig und es funktioniert auch ganz einfach.
Hier noch mal der Code-Schnippsel zum Nachlesen:
<?php
function themename_form_alter(&$form, &$form_state, $form_id) {
if($form_id=="testcck_node_form")
{
$form['actions']['submit']['#value']="GO!!"; // hier wird der Speicher-Button umbenannt
// $form['actions']['preview']['#value']="Vor !!"; falls man den Vorschau-Button umbenennen will
$form['actions']['preview']=""; // so ist der Vorschau-Buton nicht zu sehen
}
}
?>
Vielen Dank noch mal :-)
Ist doch nicht so
am 29.12.2011 - 18:36 Uhr
Ist doch nicht so problematisch, Hauptsache, Du hast jetzt eine Lösung. Markiere bitte noch den Thread als gelöst ([gelöst] vor der ersten Titel im Thread setzen).
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo, ich muss hier leider
am 16.06.2013 - 11:18 Uhr
Hallo,
ich muss hier leider nochmal nachhaken.... irgendwie stelle ich mich zu blöde an.
"meintheme" ist der Name meines gerade aktiven Themes in dessen Ordner die template.php liegt.
"angebot-verkauf-node-form" ist die id, die über Firebug als Form-ID zu finden ist. Entsprechend des Ersatzes der "-" durch "_" ergibt sich dann:
<?php
function meintheme_form_alter(&$form, &$form_state, $form_id) {
if($form_id=="angebot_verkauf_node_form")
{
$form['actions']['submit']['#value']="Eintragen";
}
}
?>
Leider auch nach Cache-Löschung und Strg + F5 keine Reaktion. Was läuft denn hier falsch?
am besten wird es sein, du
am 16.06.2013 - 11:29 Uhr
am besten wird es sein, du überprüfst zunächst einmal, ob die $form_id wirklich den Werte "angebot_verkauf_node_form" hat.
Ich denke, es ist klar wie das geht:
<?php
function meintheme_form_alter(&$form, &$form_state, $form_id) {
dsm($form_id);
if($form_id=="angebot_verkauf_node_form")
{
dsm("Es ist tatsächlich die richtige Form-ID gewählt worden.");
$form['actions']['submit']['#value']="Eintragen";
}
}
?>
Gruß
Berthold
Drupal Video-Tutorials
Kleine Ergänzung zu Bertholds
am 16.06.2013 - 20:26 Uhr
Kleine Ergänzung zu Bertholds Rat: falls dsm nicht geht, muss das devel-Modul installiert werden.
lg leda
"Du liebst es, Du brauchst es oder Du gibst es weg"
www.leda.ch
Vielen Dank euch Beiden....
am 16.06.2013 - 20:48 Uhr
Vielen Dank euch Beiden.... mittlerweile habe ich den Fehler gefunden.
Es kann natürlich nicht funktionieren, wenn man zwar ein Haupt-Theme hat, das Formular sich aber im "Seven"-Verwaltungs-Theme öffnet.
Jetzt läufts, wie gewollt, danke nochmal! :)
Test mit den
am 10.11.2018 - 18:13 Uhr
Test mit den Benachrichtigungen.....
Ich teste das mal an einem uralten Thread, bei dem ich weiß, dass ich immer eine Benachrichtigung bekommen haben
Drupal Video-Tutorials