HIS-Script - Dokumentation

Mit Hilfe von HIS-Script ist eine freie Script-Programmierung innerhalb von HIS WebShop Templates möglich. Insbesondere Rabatte, Skonti, Versandkosten und sontige Berechnungen können mit HIS-Script schnell, einfach und völlig frei durchgeführt werden.

Innerhalb von HIS-Script können HIS WebShop Variablen, Zahlen und frei definierte HIS-Script Variablen parallel zu einander verwendet und verrechnet werden.

Elementare Befehle von HIS Script:
Annahme: [GESAMTSUMME]=195


Typ                  Anweisung                  Ausgabe
--------------------------------------------------------------
Ausgabe              [PRINT([GESAMTSUMME]+3]]   198

Formatierte Ausgabe  [PRINTF([GESAMTSUMME]+3]]  198.00
als Währung

Variablen            [$rabatt=5]                keine
Zuweisung

Bedingungen          [IF_([GESAMTSUMME]>150)]   Anweisung
                     Anweisung
                     [IF_END]

Geschachtelte        [IF_([GESAMTSUMME]>150)]   Anweisung1
Bedingungen          Anweisung1
                     [IF1_($rabatt>10)]
                     Anweisung2
                     [IF1_END]
                     [IF_END]



Einbindung von HIS-Script
HIS-Script kann in allen HIS WebShop Templates eingebunden werden. Die Code Definition kann entweder inline oder im Header der Seite erfolgen. Längere Code-Fragemente ohne direkte Ausgabe sollten folgendermaßen definiert werden:
<script language="HIS-Script">
Code
</script>

1. Ausgabe

Allgemein:
[PRINT(Ausdruck)]

Bei der Ausgabe können drei grundsätzlich verschiedene Variablentypen verknüpft und miteinander verrechnet werden. Zur Verrechnung kann +,-,*,/ benutzt werden.

Es können ausgegeben/verrechnet werden:

  1. Standard HIS WebShop Variablen wie [GESAMTSUMME], [VERSANDKOSTEN] oder [PREIS]
  2. Selbstdefinierte HIS-Script Variablen wie $rabatt, $skonto
  3. Beliebige Zahlen
Beispiele:
[PRINT([GESAMTSUMME]/116*16)]
[PRINT([GESAMTSUMME]+[VERSANDKOSTEN])]
[PRINT([PREIS]*$rabatt)]


2. Formatierte Ausgabe als Währung

Allgemein:
[PRINTF(Ausdruck)]

Die formatierte Ausgabe ist analog zur Standard-Ausgabe (Punkt 1) aufgebaut. Die Ausgabe erfolgt hierbei als Währung mit 2 Nachkommastellen.


3. Variablen Zuweisung

Allgemein:
[$Variablenname=Ausdruck]

Um komplexere Berechnungen zu vereinfachen, können in HIS-Script eigene Variablen definiert werden. Eine HIS-Script beginnt mit einem Dollarzeichen, der Name darf lediglich Buchstaben von a-z, Zahlen von 0-9 oder einen Unterstrich enthalten. Der Gültigkeitsbereich einer Variable beschränkt sich stets auf das Template, wo die Variable definiert wurde. Beim Erzeugen einer Variable wird diese sofort mit einem Wert belegt.

Beispiele:
[$rabatt=5]
[$gesamtsumme=([GESAMTSUMME]+[VERSANDKOSTEN])]
[$gewichtsumme=([REPEAT_WARENK][GEWICHT]+[REPEAT_WARENK_END]0)]


4. Bedingungen

Allgemein:
[IF_(Bedingung)]
Ausdruck
[IF_END]

Um bedingte Anweisungen anzugeben, können IF-Abfragen verwendet werden. Der Code innerhalb der IF-Anweisung wird nur ausgeführt, wenn die Bedingung zutrifft.

Für numerische Vergleiche müssen die Zeichen < > verwendet werden. Für Vergleiche von Zeichenketten müssen die Wörter eq, ne verwendet werden.

Für negative Vergleiche (ungleich) wird != verwendet. Für Restberechnugen (Modulo) wird das Prozenz-Zeichen % angegeben.

Beispiele:
[IF_([GESAMTSUMME]==100)] ... [IF_END] (numerisches gleich!)
[IF_([GESAMTSUMME]>100)] ... [IF_END]
[IF_([GESAMTSUMME]>=100)] ... [IF_END]
[IF_([GESAMTSUMME]<100)] ... [IF_END]
[IF_([GESAMTSUMME]<=100)] ... [IF_END]
[IF_([GESAMTSUMME]!=0)] ... [IF_END] (ungleich)
[IF_([GESAMTSUMME]%10==0)] ... [IF_END] (Modulo Abfrage)!

[IF_('[PORTO]' eq 'Deutschland')] ... [IF_END] (String Vergleich)!
[IF_('[PORTO]' ne 'Deutschland')] ... [IF_END] (negativ. String Vergl.)!

[IF_([GESAMTSUMME]>100 && '[PORTO]' eq 'Deutschland')] ... [IF_END] (UND-Abfrage)

[IF_([GESAMTSUMME]>100 || '[PORTO]' eq 'Deutschland')] ... [IF_END] (ODER-Abfrage)

Weiterhin können Regular Expressions aus Perl verwendet werden! Durch Regular Expressions können noch viel komplexere Abfragen durchgeführt werden. Bitte lesen Sie eine Perl Dokumentation, wenn Sie sich mit Regular Expressions näher beschäftigen möchten. Hier ist nur ein Beispiel angeführt:

[IF_('[PORTO]'=~/t/)] ... [IF_END] (Abfrage trifft für alle Porto-Typen zu, die ein "t" enthalten!)


5. Geschachtelte Bedingungen

Allgemein:
[IF_(Bedingung)]
...
[IF1_(Bedingung)]
...
[IF2_(Bedingung)]
Ausdruck
[IF2_END]
...
[IF1_END]
...
[IF_END]

Geschachtelte Bedingungen können über die Keywörter IF_, IF1_, IF2_, ... IF9 angegeben werden. Für die einzelnen Bedingungen gilt das gleiche wie bei den einfachen Bedingungen (Punkt 4).


Copyright © 2004 HIS Software