$wsTestMode
Neben einer zukünftigen Sandbox-Umgebungen unterstützt WEBSALE bereits jetzt einen integrierten Testmodus, mit dem sich Integrationen, Funktionen und Konfigurationen, wie beispielsweise Zahlungsarten, testen lassen – ohne dass sie im Live-Betrieb sichtbar sind und ohne dass eine separate Staging-Umgebung eingerichtet werden muss.
Der Testmodus wird aktiviert, indem der Shop über eine spezielle URL mit Parameter aufgerufen wird. Der Zugriff ist passwortgeschützt und zeigt im Shop nur die Inhalte an, die für den Testmodus freigegeben wurden. Dies geschieht entweder über Konfigurationseinstellungen oder durch entsprechende Platzhalter in den Templates.
Mit dem $wsTestMode Modul können Sie prüfen, ob der Testmodus aktiv ist, und die Inhalte entsprechend steuern.
Inhaltsverzeichnis
Modulübersicht
Um den Testmodus zu aktivieren, muss der Shop mit dem entsprechenden Parameter ?wsvc=View&view=testMode.htm aufgerufen werden. Beispiel:
🔗 https://www.beispielshop.de/?wsvc=View&view=testMode.htm
Nach erfolgreicher Eingabe des Passworts wird der Shop in den globalen Testmodus versetzt. Solange dieser aktiv ist, sind zusätzlich auch die Inhalte sichtbar, die für den Testmodus freigegeben wurden.
Innerhalb des globalen Testmodus können zudem weitere spezifische Testmodi aktiviert werden, z.B.
Debug-Modus – Zeigt detaillierte Rohdaten und Konfigurationsinformationen im DebugControlPanel an.
Template-Testmodus – Ermöglicht das gezielte Testen von Template-Änderungen, wie Header- oder Farbänderungen, bevor sie live geschaltet werden.
Die Daten des Testmodus können somit nur abgerufen werden, wenn der Modus aktiviert ist. Zur Überprüfung, welcher Testmodus aktuell im Shop aktiviert ist, kann die folgende Ausgabe verwendet werden:
{{= $wsTestMode | json }}
JSON-Ausgabe
{
"active": false,
"debug": false
}
Variablen in der Übersicht
Variable | Typ | Beschreibung |
|---|---|---|
| bool | Prüft, ob der Testmodus aktiviert ist. |
| bool | Prüft, ob Debugging im Testmodus aktiviert ist. |
Templates
Mit der Template-Engine können bestimmte Inhalte gezielt für den Testmodus sichtbar gemacht werden. Das ermöglicht es, spezielle Funktionen oder Designs zu testen, ohne dass sie für reguläre Besucher des Shops sichtbar sind.
Für die Passwort-Eingabe zur Aktivierung des Testmodus wird ein spezielles View-Template benötigt. Standardmäßig lautet der Name testMode.htm, das sich im Verzeichnis views befindet.
Das Template kann umbenannt werden. Der neue Template-Name muss dann jedoch in den Konfigurationseinstellungen im Admin Interface hinterlegt werden. Die Konfigurationsoption befindet sich an der Stelle, an der auch das Passwort für den Testmodus hinterlegt und geändert werden kann.
Variablen
$wsTestMode.active
Gibt aus, ob der Testmodus aktiviert ist.
{{ if $wsTestMode.active }}
// Test-Modus ist aktiv
{{ /if }}
$wsTestMode.debug
Gibt true aus, wenn das erweiterte Debugging aktiviert ist. Im Debug-Modus werden zusätzliche Informationen wie Variablenwerte oder Ladezeiten angezeigt.
{{ if $wsTestMode.debug }}
// Debugging ist aktiv
{{ /if }}
Methoden
Für $wsTestMode stehen keine Methoden zur Verfügung.
Aktionen
Für $wsTestMode stehen keine Methoden zur Verfügung.
Beispiele zur Verwendung des Testmodus
Link zum Aktivieren des globalen Testmodus
Der Link kann versendet werden, wenn man den Shopbetreiber darüber informiert hat, dass Änderungen im Testmodus integriert worden sind und er sich diese über den folgenden Link ansehen kann:
https://www.beispielshop.de/?wsvc=View&view=testMode.htm
Prüfen, ob der Testmodus aktiv ist
{{ if $wsTestMode.active }}
Dieser Inhalt ist nur im Test-Modus sichtbar
{{ else}}
Dieser Inhalt ist nur im Live-Modus sichtbar
{{ /if }}
Deaktivieren des globalen Testmodus
Es kann auch direkt im Onlineshop eine Option angeboten werden, um den Testmodus zu deaktivieren, um wieder in den Onlineshop zu wechseln.
<form action="{{= $wsViews.current.url() }}" method="post">
<input type="hidden" name="wscsrf" value="{{= $cActionTestModeOff.csrf }}">
<input type="hidden" name="wsact" value="{{= $cActionTestModeOff.id }}">
<input type="hidden" name="wstarget" value="/">
<button name="wsact" value="{{= $cActionTestModeOff.id }}">Testmodus deaktivieren</button>
</form>
Weitere Praxisbeispiele zu Umsetzungen der Testmodus-Seite gibt es hier:
→ Praxisbeispiele Testmodus