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.

horizontale Linie

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%%}

horizontale Linie

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!

horizontale Linie

Kommentare (0)

Supportfragen werden nicht veröffentlicht und nicht beantwortet.
Bitte nur Kommentare schreiben.

Bitte einloggen, um einen Kommentar zu schreiben.