Solltest du eine Lizenz besitzen, findest du hier die letzte von uns verffentlichte Version.
Solltest du eine Lizenz besitzen, findest du hier die letzte von uns verffentlichte Version.
- JTL-Shop 3/4
- Features
- Dokumentation
- Changelog
Features
Grundfunktionen in der bersicht
- beliebig viele frei definierbare Formulare im Shop
- Konfiguration passender Mailtemplates
- AJAX-Funktionalitt
- einfacher Klick-Generator oder Erstellung von Hand fr Fortgeschrittene
- Einbindung ber PHP-Query oder als Smarty Templatevariable
Einsatzmglichkeiten
- Retouren
- Feedback
- Produktfragen
- Kontakt
Dokumentation
Installation
Contact Forms ist wie jedes Plugin fr den JTL Shop schnell und einfach zu installieren, lies hierzu bitte unseren Post zur Installation von JTL Shop Plugins.
Der Tab Einstellungen
- CSS Selektor und PHP Query Funktion - Wie bei vielen unserer Plugins knnen auch die Inhalte der Contact-Forms mit CSS Selektoren und PHP-Query leicht positioniert werden. Wie das genau geht erfhrst Du hier.
- In den Plugineinstellungen kannst Du angeben, ob PHP-Query und/oder Smarty-Variablen verwendet werden sollen.
- Sind Smarty-Variablen aktiv, kannst Du das entsprechende Formular im Template ber die Smarty-Variable, die in der Formularliste angegeben ist, nutzen.
- In der Pluginverwaltung kannst Du ber den Button in der Spalte "Sprachvariablen" die Ausgabe im Frontend anpassen, falls Du mehrere Sprachen verwenden solltest.
Formularerstellung
Im Reiter "Formular" kannst Du neue Formulare erstellen.
Dazu kannst Du beliebigen HTML-Code in das Feld "HTML Content" eingeben und zur Erstellung der Formularfelder die Plugin-Syntax verwenden, die im Folgenden und auch im Hilfe-Tab des Plugins nher erlutert wird.
Alternativ kannst Du oben den Generator fr Formularfelder nutzen. Whle dazu einfach aus, welche Art von Eingabefeld erstellt werden soll, flle die ntigen Felder aus und klick auf den Button "generieren". Der Code wird dann automatisch fr Dich in die "HTML Code"-Box geschrieben.
Unter "Empfnger" lassen sich beliebig viele Empfnger-Adressen, an die das Formular geschickt werden soll, mit Komma getrennt angeben. Der "Titel" ist der Betreff der Email.
Die Felder "Absender-Email" und "Absender-Name" knnen genutzt werden, um einen fest definierten Absender zu konfigurieren. Werden sie freigelassen, nutzt das Plugin automatisch die erste Adresse des "Empfnger"-Felds.
Wird der Haken bei "Adresse in Email-Input als Reply-To verwenden?" gesetzt, so wird der Inhalt eines eventuell definierten Pflicht-Emailfeldes im Formular als ReplyTo-Adresse gesetzt.
Beim Klick auf den "Anworten"-Buttons deines Mailprogrammes sollte also direkt die dort angegebenen Email-Adresse genutzt werden.
Mchtest Du PHP-Query verwenden um das Formular per Platzhalter in die HTML Struktur Deines Shops zu schreiben, dann gib einen Selektor ein. Mit der Auswahl unter "PHP-Query Funktion" stehen Dir 5 Methoden zur Verfgung, um den Inhalt des Formulars in Dein Template einzubringen. Der Selektor zeigt an, auf welchem Element diese Funktionen ausgefhrt werden soll. Ein Beispiel: Gegeben sei folgendes HTML Element:
<div id="kk_contact_forms_placeholder"></div>
Hier wrdst Du als Selektor #kk_contact_forms_placeholder angeben. Durch die Option "replaceWith()" ersetzt Du obiges Element mit dem Formular, "append()" hngt es als letztes Kindelement an. Mehr zu PHP Query Manipulatoren findest Du hier.
Solltst Du ein versierter Nutzer mit Programmierkenntnissen sein, mchtest Du evtl. auf PHP-Query verzichten und die Formulare selbst integrieren. Dir stehen dann jeweils Smarty-Variablen zur Verfgung, die eine entsprechende Einbindung ermglichen.
Element-Referenz fr fortgeschrittene Anwender
Erlaubte Feld-Typen:
[text], [email], [textarea], [challenge], [var], [submit], [checkbox], [captcha], [upload], [select], [radio], [date], [ssl]
Ein Stern nach dem Typen bedeutet, dass dieses Feld eine Plichtangabe ist.
Eigenschaften mit Leerzeichen mssen in Anfhrungszeichen stehen (z.B.
[text id="foo" placeholder="Ich bin ein Placeholder"]
, ohne Leerzeichen knnen die Anfhrungszeichen entfallen (z.B.
[submit caption=Absenden]
).
-
Eigenschaften fr date
- name="Name fr Element" (muss angegeben werden!)
- class="meine zusaetzlichen klassen" (optionale zustzliche Klassen fr das Feld)
- label="Mein Label" (Beschreibung des Eingabefeldes)
-
Eigenschaften fr textarea
- name="Name fr Element" (muss angegeben werden!)
- class="meine zusaetzlichen klassen" (optionale zustzliche Klassen fr das Feld)
- label="Mein Label" (Beschreibung des Eingabefeldes)
- id="ID des Elements" placeholder="Placeholder Text"
- placeholder="Placeholder Text"
-
Eigenschaften fr text
- name="Name fr Element" (muss angegeben werden!)
- label="Mein Label" (Beschreibung des Eingabefeldes)
- class="meine zusaetzlichen klassen" (optionale zustzliche Klassen fr das Feld)
- id="ID des Elements"
- placeholder="Placeholder Text"
- value="Wert" (Vorgegebener Wert, auch als Smarty-Variable per @$variable@ mglich)
-
Eigenschaften fr email (Achtung: max. ein Email-Feld pro Formular!)
- name="Name fr Element" (muss angegeben werden!)
- id="ID des Elements"
- label="Mein Label" (Beschreibung des Eingabefeldes)
- class="meine zusaetzlichen klassen" (optionale zustzliche Klassen fr das Feld)
- placeholder="Placeholder Text"
- copy=1 (Sendet eine Kopie der Anfrage an die eingegebene Email-Adresse)
-
Eigenschaften fr Submit-Buttons
- caption="Absenden" (Beschriftung des Buttons)
- class="meine zusaetzlichen klassen" (optionale zustzliche Klassen fr das Feld)
- id="ID des Elements"
-
Eigenschaften fr Challenge
- name="Name des Elements" (muss angegeben werden!)
- id="ID des Elements" solution="Ergebnis"
- label="Mein Label" (Beschreibung des Eingabefeldes)
- solution="Ergebnis"
-
Eigenschaften fr Var
- name="Name"
- id="ID des Elements"
- value="$wert" der Smarty Variablen" (muss angegeben werden!) Dies kannst Du z.B. nutzen, um auf der Artikelseite die URL des Artikels ins Formular zu bernehmen. Der entsprechende Wert wre dann $Artikel->cURL.
Ersetze dabei ggf. bitte eckige durch runde Klammern - z.B. $Brotnavi(0)->name.
-
Eigenschaften fr Captcha
- name="Name des Elements" (muss angegeben werden!)
- label="Mein Label" (Beschreibung des Eingabefeldes)
- id="ID des Elements"
- type=1 (Wert 1-3, entspricht JTL-Sicherheitsstufe)
- placeholder="Placeholder Text"
-
Eigenschaften fr Upload
- name="Name des Elements" (muss angegeben werden!)
- label="Mein Label" (Beschreibung des Eingabefeldes)
- id="ID des Elements"
- maxsize=200 (Gre in KB, 100 ist Standard)
- multiple=false (um mehrere Dateien pro Upload-Feld zu verhindern)
- extensions="pdf, xml, doc" (beliebige Dateiendungen mit Komma getrennt, ("jpg, jpeg, gif, bmp, png"" ist Default)
-
Eigenschaften fr Checkbox
- name="Name des Elements" (muss angegeben werden!)
- label="Mein Label" (Beschreibung des Eingabefeldes
- class="meine zusaetzlichen klassen" (optionale zustzliche Klassen fr das Feld)
- id="ID des Elements"
- checked=1 (setzt standardmig den Haken)
- multiple=1 (erlaubt Mehrfachmarkierung, standardmig deaktiviert)
- options=Option1:wert1,Option2:wert2,Options3:wert3 (die einzelnen Buttons mit Schema
[Beschriftung]
:[Wert des Buttons]
, alternativ auch nur[Beschriftung1]
,[Beschriftung2]
...)
-
Eigenschaften fr Select
- name="Name des Elements" (muss angegeben werden!)
- options=Option1,Option2,Options3 (die einzelnen Auswahloptionen) multiple=1 (erlaubt Mehrfachmarkierung) id="ID des Elements"
-
Eigenschaften fr Radio
- name="Name des Elements" (muss angegeben werden!)
- label="Mein Label" (Beschreibung des Eingabefeldes)
- options="Name:value1,Name 2:value2:,Name 3:value3:checked (die einzelnen Buttons mit Schema
[Beschriftung]
:[Wert des Buttons]
:ausgewhlt (letzter Punkt optional)) - break=true (fgt einen Umbruch nach jedem Button ein)
Eigenschaften fr SSL Fge den SSL-Tag an einer beliebigen Stelle in Dein Formular ein, um das Formular via https zu versenden.
Beachte bitte Folgendes: Das Formular muss sich dann auch auf einer SSL-geschtzen Seite befinden. Du kannst nicht z.B. ein Formular von http://www.meine-seite.de/kontakt per SSL schtzen, sondern musst es mit
https://www.meine-seite.de/kontakt
aufrufen.
Email-Template
Du kannst nach Aktivieren der Option "Eigenes Mailtemplate verwenden" in der darunterliegenden Eingabemaske ein eigenes Template fr jedes Formular definieren. Dabei kannst Du beliebiges HTML verwenden.
Um auf Formularwerte zuzugreifen, fge Tags wie
[namedeselements]
ein.
Hast Du z.B. im Formular ein Feld
[textarea* name="mein-textfeld" label="Irgendwas eingeben"]
erstellt, so gib im Mailtemplate einfach [mein-textfeld] ein und der Inhalt wird in der Email automatisch eingefgt.
Zustzlich hast Du die Mglichkeit, nicht ausgefllte Variablen in der Mail auch nicht anzuzeigen. Fge hierzu Deinen Text zwischen {{feldname}} und {{/feldname}}.
Beispiel: Du hast in Deinem Formular-Template den folgenden Code:
[textarea name="meintext1"] [textarea name="meintext2"][submit]
Dann kannst Du in Dein Mail-Template scheiben:
{{meintext1}}Das Textfeld hat den Wert [meintext1]{{/meintext1}} und Textfeld2 hat den Wert [meintext2].
Wird das Textfeld Nr. 1 vor Absenden des Formulars dann nicht ausgefllt, wird der betreffende Text auch nicht in der Email angezeigt. "und Textfeld2 hat den Wert" wrde trotzdem angezeigt werden.
Eigene Callbacks
Mit etwas Erfahrung in Sachen jQuery/JavaScript kannst Du eigene Callbacks definieren, die nach dem Absenden eines Formulars ausgefhrt werden. Dies kann z.B. ntzlich fr Analytics-Code sein.
Hier ein kleines Beispiel:
if (typeof(kkContactForms) !== 'undefined') {
kkContactForms.success (function (res, request) {
if (request && request['kk-contact-form'] && request['kk-contact-form'] == "2") {
if (res.status && res.status.toLowerCase() == "ok") {
foo();
bar();
//tell cf to _NOT_ handle success messages by it's own
return true;
} else {
console.log('Hoppla.. Ein Fehler...');
}
}
});
}
Changelog
1.15 - 22.02.2017
- fgt fehlende Tags zum Generator hinzu
- behebt Probleme beim Versand via SMTP mit TLS
- Untersttzung fr bAnti_spam_already_checked
- Untersttzung fr Revisionen (ab Shop 4.05)
- bessere Kontrolle ber ReplyTo/From-Header
- behebt einen Fehler beim Versand an mehrere Empfnger
1.14 - 28.06.2016
- behebt Probleme mit dem Tag-Generator
- behebt Probleme beim Versand von Email-Kopien ("Relay Access Denied")
- behebt Probleme im Zusammenhang mit reCaptcha
- "value"-Eigenschaft fr Textareas
- individuelle Smarty-Templates fr alle Formularfelder
- aktuelle jQueryUI-Version fr Shop4
- Designanpassungen im Backend
1.13 - 01.10.2015
- Shop4-Kompatibilitt
- Untersttzung von xsrf-Tokens und Google reCaptcha
- Designanpassungen
- kleinere HTML-Korrekturen
1.12 - 02.10.2014
- Anpassungen an Shop 3.19
- kleinere Verbesserungen
1.11 - 12.07.2014
- Neugenerierung von Captchas nach Absenden von Formularen
- Korrekte Fehlerausgabe bei Validierung von Uploads
1.10 - 06.12.2013
- Problembehebungen bei Uploads
1.09 - 13.11.2013
- SSL jetzt auch von nicht https-URLs via JSONP mglich mit SSL-Tag
1.08 - 26.09.2013
- kleiner Fehlerbehebungen im Formular-Assistenten
- Fehlerbehebung bei Shops in Unterordnern oder ohne abschlieenden Slash
- Mglichkeit, ShopURL manuell zu berschreiben bei Problemen mit Unterordnern
- neues Element: Radio-Buttons (experimentell)
1.07 - 01.08.2013
- mehrere Upload-Felder pro Formular
- mgliche Limitierung auf eine Datei pro Uploader
- eigene JavaScript-Callbacks nach Absenden des Formulars sind nun mglich
- kleine Verbesserungen im Backend-CSS
- Fehlerbehebungen fr in Unterordnern installierte Shops
1.06 - 12.04.2013
- neuer Hook: Du kannst Hook 1111 nutzen, um nach Versand des Formulars auf den POST-Inhalt zuzugreifen.
- Untersttzung von zeitlich begrenzten Lizenzen
- kleine Verbesserungen im Backend
- kleine Fehlerbehebungen
1.05 - 07.02.2013
- neuer Tag:
[ssl]
um Formular ber SSL zu versenden - Fehlerbehebung bei Verwendung von Smarty-Variablen
1.04 - 25.01.2013
- Bessere Ajax-Validierung
- Problembehebung bei Verwendung eigener Email-Templates
1.03 - 16.01.2013
- Erweiterte Untersttzung fr Smarty-Variablen
1.02 - 03.01.2013
- Probleme mit Ajax-Upload im Internet Explorer behoben
1.01 - 07.12.2012
- neues Formelement:
date
erstellt einen Datepicker (jQuery UI muss eingebunden sein; dies ist im Tiny-Template automatisch der Fall) - Include der JavaScript- und CSS-Dateien bei Verwendung von Template-Variablen
- kleinere HTML-Korrekturen
- genderter Submit-Button, um Standard-Design des JTL-Shops besser bernehmen zu knnen