Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst] CCK-Formular themen z.B. Speicher-Button anders bezeichnen

Eingetragen von dknopf (80)
am 29.12.2011 - 16:31 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x

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

‹ [gelöst] Pflichtfelder nachträglich zu Nicht Pflichtfelder ändern [gelöst] Composer Core-Update von 8.4.2 auf 8.5.6 passiert nix ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Du mußt über

Eingetragen von wla (9463)
am 29.12.2011 - 17:07 Uhr

Du mußt über [api:hook_form_alter] gehen, um die Form zu ändern.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Werner, da ist mir

Eingetragen von dknopf (80)
am 29.12.2011 - 17: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 :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ist doch nicht so

Eingetragen von wla (9463)
am 29.12.2011 - 19: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, ich muss hier leider

Eingetragen von sacre (97)
am 16.06.2013 - 12: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?

  • Anmelden oder Registrieren um Kommentare zu schreiben

am besten wird es sein, du

Eingetragen von torfnase (1525)
am 16.06.2013 - 12: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kleine Ergänzung zu Bertholds

Eingetragen von leda.ch (977)
am 16.06.2013 - 21:26 Uhr

Kleine Ergänzung zu Bertholds Rat: falls dsm nicht geht, muss das devel-Modul installiert werden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank euch Beiden....

Eingetragen von sacre (97)
am 16.06.2013 - 21: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! :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Test mit den

Eingetragen von torfnase (1525)
am 10.11.2018 - 19: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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
Weiter

Neue Kommentare

  • Git und rsync sind die wichtigsten Werkzeuge
    vor 14 Stunden 28 Minuten
  • Arrrrg. Nix Tabelle :-D /*
    vor 4 Wochen 2 Tagen
  • Textboxen mit Tabelle
    vor 4 Wochen 3 Tagen
  • Du sollst ja auch keine
    vor 4 Wochen 3 Tagen
  • Theme
    vor 4 Wochen 3 Tagen
  • Welches Theme benutzt du
    vor 4 Wochen 3 Tagen
  • Mit Responsive Raster hatte
    vor 4 Wochen 3 Tagen
  • Hallo Alex,um das Häkchen
    vor 4 Wochen 4 Tagen
  • Modul view_unpublished
    vor 4 Wochen 5 Tagen
  • Modul "override node options"
    vor 4 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250273
Registrierte User: 20484

Neue User:

  • JeraldZeF
  • Aathivithyah
  • Aoirhic

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 1 Benutzer und 12 Gäste online.

Benutzer online

  • buchri62

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association