Mitunter werden weitere Formulare für einen Online Shop benötigt. In Veyton können diese relativ einfach selbst erstellt werden.
1. Folgende Dateien kopieren und unter neuem Namen in den gleichen Verzeichnissen speichern
/templates/xt_modified_grafisch_orange/xtCore/forms/contact.html /xtCore/forms/contact.php
Neue Dateien sind zum Beispiel:
/templates/xt_modified_grafisch_orange/xtCore/forms/accesscustomer.html /xtCore/forms/accesscustomer.php
In „/xtCore/forms/accesscustomer.php“ ändern -> $tpl = ‚accesscustomer.html‘;
3. Im Backend neue Sprachvariablen anlegen
Im Backend werden neue Sprachvariablen unter „Einstellungen -> Lokalisierung -> Sprachtexte“ für alles genutzten Sprachen angelegt.
Zum Beispiel:
TEXT_ACCESSCUSTOMER_INTRO = "Sie sind Kunde haben aber noch keine Zugangsdaten für unseren Shop. Hier können Sie Ihre Zugangsdaten anfordern."
4. Im Backend neue Contentseite anlegen und Formular integrieren
Im Backend wird eine neue Contentseite unter Inhalte -> Contentmanager -> Content“ angelegt.
Als Contentformular wird accesscustomer.php gewählt, der Status angeklickt und Titel und Name vegeben.
Zum Beispiel:
Titel: Kunde ohne Zugangsdaten
Name: Kunde ohne Zugangsdaten
Die Id für den neuen Content brauchen wir später noch (Id: 10).
5. Falls die Formulardaten an eine andere email-Adresse gesand werden sollen, als an die Standard-Adresse
1. In der Datenbank Tabelle „xt_config_1“ suche „_STORE_CONTACT_EMAIL“ und kopiere die Zeile.
2. Neue Zeile anlegen mit „_STORE_ACCESSCUSTOMER_EMAIL“ und andere email-Adresse definieren.
3. In „/xtCore/forms/accesscustomer.php“ entprechend die neue email-Adresse aufrufen:
Suche:
$contactMail->_addReceiver(_STORE_CONTACT_EMAIL,_STORE_NAME);
$contactMail->_setFrom(_STORE_CONTACT_EMAIL,_STORE_NAME);
Ersetze:
$contactMail->_addReceiver(_STORE_ACCESSCUSTOMER_EMAIL,_STORE_NAME);
$contactMail->_setFrom(_STORE_ACCESSCUSTOMER_EMAIL,_STORE_NAME);
6. Formularfelder anpassen
Entsprechend der benötigten Eingabefelder kann jetzt das neue Formular angepasst werden. Dabei werden die Dateien
/templates/xt_modified_grafisch_orange/xtCore/forms/accesscustomer.html /xtCore/forms/accesscustomer.php
zusammen editiert. Als Beispiel soll ein neues Eingabefeld für die Kundennummer hinzu kommen:
/templates/xt_modified_grafisch_orange/xtCore/forms/accesscustomer.html:
<tr> <td style="white-space:nowrap;"><strong>{txt key=TEXT_CUSTOMER_ID}</strong> </td> <td>{form type=text name=customer_id params='maxlength="40" size="40"' value=$customer_id note=*}</td> </tr>
/xtCore/forms/accesscustomer.php:
$form_check->_checkLenght($_POST['customer_id'], _STORE_LAST_NAME_MIN_LENGTH, ERROR_CUSTOMER_ID);
Fehlende Sprachvariable müssen im Backend definiert werden.