Erweiterung eines bestehenden phpContact Templates - TEIL 2
Rückblick
Im ersten Teil dieser Anleitung haben wir das einzeilige Eingabefeld "zweiter Vorname" in das Formular eingebaut. Auch in das Template haben wir es integriert sodass es auch per E-Mail empfangen werden kann.
Was fehlt jetzt noch?
Wie schon im letzen Absatz des ersten Teiles angekündigt, haben wir die Vorschaufunktion außer Acht gelassen. Außerdem wollen wir auch noch die Wildcards für die Texte verwenden.
Vorschaufunktion
Beginnen wir mit der Vorschaufunktion. Dazu öffnen wir die uns bereits bekannte Datei htmls/formular.tpl.html
und suchen uns die Zeile 297. Hier steht folgender Code:
%%FELD4-VALUE%% %%FELD5-VALUE%%
Wir sehen hier 2 Wildcards, die den Inhalt der zuvor im Formular eingetragenen Werte wiedergeben. Das heißt: %%FELD4-VALUE%%
wird mit dem Inhalt des Eingabefeldes "Vorname" ersetzt, %%FELD4-VALUE%%
mit dem Inhalt des Eingabefeldes "feld5". In unserem Fall ist das jetzt das neue Feld "zweiter Vorname. Bisher war es der "Familienname".
Dieses Eingabefeld "Familienname" müssen wir jetzt wieder einbauen.
%%FELD4-VALUE%% %%FELD5-VALUE%% %%FELD6-VALUE%%
Ja,... alle nachkommenden Felder müssen wieder korrigiert werden. Aus %%FELD6-VALUE%%
wird %%FELD7-VALUE%%
, u.s.w.. Das machen wir bis Zeile 334 so. Diese Zeile schaut nun so aus:
%%FELD29-VALUE%%
Somit haben wir alle sichtbaren (Ausgabe im Browser) Teile geändert. Nun müssen wir noch die Formularwerte, die als hidden
Formularfelder schlussendlich weitergeleitet werden ändern.
Schauen wir uns daher die Zeilen 346 und 347 an:
{feld:4;type:hidden;name:vorname;value:%%FELD4-VALUE%%} {feld:5;type:hidden;name:familienname;value:%%FELD5-VALUE%%}
Dazwischen müssen wir wieder unser neues Eingabefeld "zweiter Vorname" einbauen:
{feld:4;type:hidden;name:vorname;value:%%FELD4-VALUE%%} {feld:5;type:hidden;name:vorname2;value:%%FELD5-VALUE%%} {feld:6;type:hidden;name:familienname;value:%%FELD6-VALUE%%}
Als Kontrolle hier die letzte zu ändernde Zeile 384:
{feld:41;type:hidden;name:f040;value:%%FELD41-VALUE%%}
Texte auslagern
Wie schon mehrfach angesprochen, können wir die Texte in die Sprachdateien auslagern und per Wildcard in das Template laden. Das erfolgt in 2 Schritten.
Wildcards einbauen
Schauen wir uns dazu die Zeile 119 an. Diese hatten wir im ersten Teil dieser Anleitung eingebaut. So sah sie bisher aus:
{feld:5;type:input;name:vorname2;id:vorname2;label:zweiter Vorname;value:;class:b4yf_inputfeld;error:Der zweite Vorname fehlt.;placeholder:zweiter Vorname}
Hier hatten wir die Texte im Klartext geschrieben. Schreiben wir hier also ein Wildcard, dass durch den Inhlat, den wir dann in der Sprachdatei definieren ersetzt wird. Wir verwenden dazu z.B. das Wildcard %%ZWEITER_VORNAME_LABEL%%
für die Bezeichnung des EIngabefeldes und des Placehoders, und %%ZWEITER_VORNAME_ERROR%%
für den Errortext.
{feld:5;type:input;name:vorname2;id:vorname2;label:%%ZWEITER_VORNAME_LABEL%%;value:;class:b4yf_inputfeld;error:%%ZWEITER_VORNAME_ERROR%%;placeholder:%%ZWEITER_VORNAME_LABEL%%}
Sprachdatei
Öffnen wir dazu zuerst die deutsche Sprachdatei "language/deutsch.ini
". Navigieren wir runter zu der Zeile 44.
004_LABEL = Vorname 004_ERROR = Der Vorname fehlt. 005_LABEL = Familienname 005_ERROR = Der Familienname fehlt.
Schreiben wir der Ordnung-halber die Wildcard Definition hier dazwischen rein. (kann aber auch am Ende der Datei hinzugefügt werden). Das schaut dann so aus:
004_LABEL = Vorname 004_ERROR = Der Vorname fehlt. ZWEITER_VORNAME_LABEL = zweiter Vorname ZWEITER_VORNAME_ERROR = Der zweite Vorname fehlt. 005_LABEL = Familienname 005_ERROR = Der Familienname fehlt.
Das gleiche machen wir auch in der englischen Sprachdatei "language/english.ini
".
004_LABEL = First name 004_ERROR = Your first name is missing. ZWEITER_VORNAME_LABEL = Middle name ZWEITER_VORNAME_ERROR = Your middle name is missing. 005_LABEL = Surname 005_ERROR = Your surname is missing.
als Pflichtfeld markieren
Grundsätzlich sind wir schon fertig. Aber einen kleinen Schönheitsfehler haben wir noch. Wenn wir das neue Eingabefeld in der Konfiguration als Pflichtfeld definieren, dann wird es beim Formular nicht als solches markiert. In diesem Fall sollte es mit einem Stern (*) markiert werden. Das wollen wir jetzt aber auch noch machen.
Der Grund liegt in der Parameter-Definitionsdatei "php/params.bak.php" hier müssen wir auch noch das Wildcard einbauen.
Die Zeilen 32 und 33 ändern wir von:
$b4yf_param[10]='activate|feld:5|active|active|zweiter Vorname|%%K_ACTIVATE%%'; // zweiter Vorname $b4yf_param[11]='required|feld:5|yes||zweiter Vorname|%%K_REQURIED%%';
auf:
$b4yf_param[10]='activate|feld:5|active|active|%%ZWEITER_VORNAME_LABEL%%|%%K_ACTIVATE%%'; // zweiter Vorname $b4yf_param[11]='required|feld:5|yes||%%ZWEITER_VORNAME_LABEL%%|%%K_REQURIED%%';
Alle Dateien werden nun per FTP auf den Server geladen. Anschließend muss nur noch die Grundeinstellungen in der Konfiguration geladen werden. Jetzt kann die gewollte Konfigurationseinstellung vorgenommen werden.
fertig!
Kommentare (0)