Joomla! Forum Schweiz wird Teil der D-A-CH Community

Nach vielen Jahren als zentrale Anlaufstelle für Fragen rund um Joomla! in der Schweiz wird das Joomla! Forum Schweiz künftig als Archiv weitergeführt.

Die Joomla!-Communities aus Deutschland, Österreich und der Schweiz arbeiten heute enger denn je zusammen. Deshalb bündeln wir künftig auch den deutschsprachigen Support und Austausch an einem gemeinsamen Ort im Joomla! D-A-CH Forum.

Für neue Fragen, Diskussionen und den Austausch mit der Community nutzt bitte ab sofort:

forum.joomla.de

Das Joomla! Forum Schweiz bleibt weiterhin bestehen und wird als Archiv im Lesemodus erhalten. Die vielen Beiträge, Lösungen und Erfahrungen aus den vergangenen Jahren bleiben damit weiterhin zugänglich und über die Suche auffindbar.

Wir bedanken uns herzlich bei allen Mitgliedern, Moderatoren und Helfern, die das Schweizer Joomla! Forum über viele Jahre mit ihrem Wissen und ihrem Engagement geprägt haben.

Wir sehen uns im Joomla! D-A-CH Forum!

Override für das Kontaktformular (contact.xml)

Mehr
05 Okt. 2022 12:28 - 05 Okt. 2022 12:28 #50375 von crimle
Ich möchte ein Override für das Standard-Kontaktformular von Joomla erstellen. Konkret soll eines dieser vier Felder ausgeblendet werden:
  • Name
  • E-Mail
  • Betreff
  • Nachricht
Das wird in der Datei components\com_contact\forms\contact.xml gemacht. Nun frage ich mich, wo ich diese angepasste Datei speichern soll. Im Template habe ich einen Override von com_contact erstellt. Dabei wurden ein paar Dateien nach /templates/mein_template/html/com_contact kopiert. contact.xml ist nicht dabei. Also muss ich wohl den Pfad selbst herausfinden und die Datei manuell hochladen. Hat mir jemand einen Tipp wohin diese Datei gespeichert werden muss?

Vielen Dank und Gruss
Christof
  • MartinKopp
  • Offline
  • Senior Mitglied
  • Senior Mitglied
  • Joomla! Release Manager - Maintainer (MacJoom)
Mehr
10 Okt. 2022 11:02 #50389 von MartinKopp
Ich glaube nicht, dass ein Override für contact.xml funktioniert. Overrides funktionieren m.E. nur für php Dateien, dieser Code wird anstatt des Core-Codes ausgeführt.
Für Forms ist das dann die edit.php - da drin kannst du dann das Feld löschen, das du nicht bearbeitet haben willst. 
HtH
Viele Grüsse
Martin
 
Folgende Benutzer bedankten sich: crimle
Mehr
10 Okt. 2022 11:30 #50391 von crimle

Für Forms ist das dann die edit.php - da drin kannst du dann das Feld löschen, das du nicht bearbeitet haben willst.
 
Ja, das ist so. Habe ich auch erfolgreich hinbekommen. Das ungelöste Problem: in der contact.xml ist das Feld, das ich ausgeblendet haben möchte, mit required="true" definiert. Das hat zur Folge, dass das Feld zwar unsichtbar ist, aber das Formular nicht mehr gesendet werden kann.

Gruss
Christof
Mehr
12 Okt. 2022 14:50 - 12 Okt. 2022 15:42 #50395 von Tribal6
Salut

Das kannst du im Override über Joomlas-Form Klasse steuern. Damit kannst du jedes Feld anpassen wie du es brauchst. Das kannst du am besten im oberen PHP-Bereich des Templates machen. Das HTML des Overrides lässt du dabei am besten so wie es ist.

Du kannst über die Form-Klasse bestehende Felder und deren Attribute verändern, löschen, hinzufügen wie du willst. Allerdings musst du dabei beachten, dass nach dem Absenden bei der Serverseitigen Validierung wieder das originale XML-Form mit allen Feldern dazu verwendet wird. Das heisst du kannst nicht einfach Felder 'verschwinden' lassen. Aber du kannst sie auf 'hidden' stellen. Und sind sie 'required', gib ihnen einfach einen Default-Wert mit. Das geht im Falle vom Feld der E-Mailadresse ungefähr so:
 
Code:
$form = $this->getForm(); $form->setValue('contact_email',null,'example@example.com'); $form->setFieldAttribute('contact_email','type','hidden');


Prost, Roger.

[Edit]
Ich habe die
components/com_contact/tmpl/contact/default_form.php
kopiert nach
templates/TEMPLATENAME/html/com_contact/contact/default_form.php
Das ist für einen bestehenden Kontakt. Aber im 'allgemeinen' Kontaktformular funktioniert das auch. Du musst nur die Feldnamen anpassen. 

Tue das, was du kannst, mit dem was du hast, da wo du bist.
Folgende Benutzer bedankten sich: crimle
Moderatoren: Chris HoefligerTribal6RePaoDragonlordpascaleadiheutschi.ch
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden