Du bist hier: Startseite > Fremd-Module > QuickSkin Version 5.0 > Kontroll-Strukturen

Kontroll-Strukturen

IF
Das if ... endif Konstrukt erleichtert die bedingte Darstellung von Template-Fragmenten.

Syntax:

<!-- IF var --> var is not empty! <!-- ENDIF var -->
<!-- IF name=='John Doe' --> Your name is John Doe! <!-- ENDIF name -->
<!-- IF name!='John Doe' --> Your name is not John Doe! <!-- ENDIF name -->

Eine Variable kann als rechter Teil des IF-Klausel verwendet werden.
 
Syntax:

<!-- IF name=variablename -->
   Your name match with {variablename}
<!-- ENDIF name -->
 
<!-- IF name!=top.variablename -->
   Your name doesn’t match with {top.variablename}
<!-- ENDIF name -->

Hinweis:
Der Variablename nach ENDIF ist optional
Die Variable kommt vom PHP-Code
IF/ELSE/ELSEIF Kontrollstrukturen können auch ineinander verschachtelt sein oder in BEGIN-IF Kontrollstrukturen eingefügt werden

ELSE
Das else Konstrukt erweitert ein if-Konstrukt um die Möglichkeit das, wenn eine Aussage FALSE ergibt, ein entsprechendes Template-Fragment eingefügt werden kann.

Syntax:

<!-- IF usergroup="ADMIN" -->
   <a href="admin.php"> ADMIN Login </a><br />
<!-- ELSE -->
   You are in guest mode!<br />
<!-- ENDIF usergroup -->

Hinweis:
Der Variablename nach ENDIF ist optional
Die Variable kommt vom PHP-Code
IF/ELSE/ELSEIF Kontrollstrukturen können auch ineinander verschachtelt sein oder in BEGIN IF Kontrollstrukturen eingefügt werden

ELSEIF
Mit dem elseif-Konstrukt kann ein if-Konstrukt nahezu endlos erweitert werden.

Syntax:

<!-- IF usergroup="ADMIN" -->
   <a href="admin.php"> Admin Staff Login </a><br />
<!-- ELSEIF usergroup="SUPPORT" -->
   <a href="support.php"> Support Staff Login </a><br />
<!-- ELSEIF usergroup -->
   <a href="other.php"> Standard Login </a><br />
<!-- ELSE -->
   You don't even have a usergroup!
<!-- ENDIF -->

Hinweis:
Der Variablename nach ENDIF ist optional
Die Variable kommt vom PHP-Code
IF/ELSE/ELSEIF Kontrollstrukturen können auch ineinander verschachtelt sein oder in BEGIN IF Kontrollstrukturen eingefügt werden

BEGIN ... END
Das begin ... end Konstrukt stellt die Möglichkeit bereit numerische Arrays zu durchlaufen. Jedes Element des numerischen Array wiederum muss ein assoziatives Array sein.Das Script zwischen einem eingebetteten <-! BEGIN -> und <-! END -> Tag wird so oft wiederholt wie es Elemente im nummerischen Array gibt.
Jedes  assoziative Array wird durch die folgenden zwei zusätzliche Elemente erweitert:

ROWCNT:
Die aktuelle Position des Elements innerhalb des übergeordneten Arrays. (0,1,2,3,...n)
ROWBIT:
Das niederwertigste Bit von ROWCNT. (0,1,0,1,0,1,...)
begin ... end blocks können leicht verschachtelt und analysiert werden (rekursiv)

Beispiel:

// Array initialisieren
$users = array(
   array( 'NAME' => 'John Doe',   'GROUP' => 'ADMIN' ),
   array( 'NAME' => 'Jack Doe',   'GROUP' => 'SUPPORT' ),
   array( 'NAME' => 'James Doe',  'GROUP' => 'GUEST' ),
   array( 'NAME' => 'Jane Doe',   'GROUP' => 'GUEST' ),
);
$page->assign( 'users',  $users );

Die Template-Datei würde dann enthalten:

<style type="text/css">
    .col0 { background-color: #D0D0D0; }
    .col1 { background-color: #F0F0F0; }
  </style>
  <table border="1" cellpadding="2" cellspacing="0">
    <tr>
      <th>No.</th>
      <th>Username</th>
      <th>Usergroup</th>
    </tr>
    <!-- BEGIN users -->
    <tr class="col{ROWBIT}">
      <td>{ROWCNT}</td>
      <td>{NAME}</td>
      <td>{GROUP}</td>
    </tr>
    <!-- END users -->
  </table>

Hinweis:
Der Variablename nach ENDIF ist optional
Die Variable kommt vom PHP-Code
IF/ELSE/ELSEIF Kontrollstrukturen können auch mit BEGIN ...END Kontrollstrukturen verschachtelt werden

INCLUDE
Hierbei handelt es sich nicht um eine echte Kontrollstruktur. Mit der INCLUDE-Direktive werden externe Daten in die Template-Datei geladen
Template-Dateien können in anderen Template-Dateien über die INCLUDE-Direktive includiert werden. Dabei können in diesen „Sub-Templates“ die gleichen Funktionen/Kontrollstrukturen verwendet werden.

Syntax:

<!-- INCLUDE templatename.html -->
// oder
<!-- INCLUDE templatename.php -->
// oder
<!-- INCLUDE templatename.meinTemplate -->

// oder…

Hinweis:
Include-Datei ist im Template-Verzeichnis (default '_skins/')
Ähnlich der Methode $page->addtpl ()… Unterschied ist dabei, dass "addtpl" die Daten in einer Variablen speichert, die dann ('$ page-> assign ()') zugewiesen bekommt (innerhalb des Haupt-Templates)

Die Kontroll-Strukturen werden nur innerhalb der Template-Datei(en) benutzt!

Aktuell

Nach dem Redesign der Seite wird sich auch, nach und nach, etwas in der Seitenstruktur tun. Ebenso wird das neue Logo überall eingefügt werden. Bei den Fehlermeldungen, Informationen und sonstigem, rund um TobbiVM, wird auch in Zukunft hier die erste Anlaufstelle sein. Sourceforge wird eigentlich nur als Repository genutzt. Trotzdem wird dort der Download der aktuellen Version weiterhin möglich sein.
Leider ist das Design von Flyspray nicht reponsive, was bei der Datenmenge bei der Anzeige auch sehr schwierig ist. Somit ist Flyspray nur bei Breiten von mindestens ca. 768px wirklich sinnvoll nutzbar.
Der, bis jetzt, stiefmütterlich behandelte Teil mit den Anleitungen wird ab sofort mit Hochdruck weiter vergrößert.
Weitere Wünsche? -> Dann ins Forum damit!
nach oben