Webgenz
 

Home
Überblick
Einstieg
Anwendungs-
dokumentation
Begriffe
Details
Projekt-Dateien
Template-Dateien
Content-Dateien
Programmstart per Befehlszeile
Tipps & Tricks
FAQs
Download
Bestellung
Forum
(English)
Suche
(English)
Kontakt
Links
(English)
Content-Dateien definieren Makrowerte.

Hier ein Beispiel einer Content-Datei:

  [@TITEL]:
  Willkommen bei Webgenz
  [@]
  
  [@BODY_INHALT]:
  Willkommen bei Webgenz, DEM Tool zur Erstellung von Websites. Diese Software wurde entwickelt, um Websites effizienter als jemals zuvor zu erstellen und zu warten.
  [@]
  

Hinweise:

  • Der Makrowert befindet sich zwischen einem Start- und einem Ende-Tag. Das Start-Tag entspricht dabei defaultmäßig dem von einem ":" gefolgten Makro-Tag. Das Ende-Tag, das in einer eigenen Zeile stehen muss, ist im Standard [@]. Die in den Makro-Tags verwendeten Sonderzeichen können im "Options"-Menü geändert werden.
     
  • In einem Makro-Wert können selbst wieder Makro-Tags auftreten. Mit anderen Worten: Makro-Tags können verschachtelt werden. Die Ersetzung der Makro-Tags wird auch dann wie erwartet erfolgen. Die Verschachtelungstiefe muss im "Options"-Menü eingestellt werden.
     
  • WICHTIG Um die Formatierung des erzeugten HTML-Dokuments zu erhalten, wird jeder Zeile eines mehrzeiligen Makrowertes der Text (zumeist "nur" Leerzeichen) vorangestellt, der links vom Makro-Tag in der Template-Datei steht. Falls es sich dabei um HTML-Code handelt, sollte der Makrowert einzeilig sein, es sei denn, es ist beabsichtigt, jeder Zeile des Makrowertes diesen HTML-Code voranzustellen. Dementsprechend ist es gewöhnlich das Beste, ein Makro-Tag in eine eigene Zeile der Template-Datei zu platzieren, wenn man nicht sicher ist, dass der Makrowert nur einzeilig ist (Lesen sie hierzu mehr).

Weiterführende Themen:

  • "Vererbung" ist ein Kernkonzept von Webgenz. Wenn Webgenz ein Makro-Tag mit einem Makrowert ersetzen soll, prüft es zuerst, ob das Makro in der "unmittelbaren" (lokalen) Content-Datei definiert ist. Wenn dies nicht der Fall ist, durchsucht Webgenz anschließend die Content-Datei-Hierarchie nach der Makrodefinition.
     
  • Es ist möglich, Makros "unterzuordnen". So könnte z.B. eine globale Content-Datei ein Makro namens [@JAVA_SCRIPT] mit einem JavaScript-Codeblock enthalten, der für jedes Dokument innerhalb des Projekts verfügbar sein soll. Eine lokale Content-Datei könnte nun ihr eigenes Makro [@JAVA_SCRIPT] wie folgt definieren:
      [@JAVA_SCRIPT]:
      Beliebiger JavaScript-Code
      [@^JAVA_SCRIPT]
      [@]
      
    Die letzte Zeile dieses Makrowerts ist ein Makro-Tag, das auf ein Makro desselben Namens referenziert, jedoch weist das "^" Webgenz an, bei der übergeordneten Content-Datei mit der Suche nach dem Makrowert zu beginnen.
     
  • Parameter können an Makrowerte übergeben werden. Ein Makro, das Parameter entgegennimmt, wird folgendermaßen definiert:
      [@MEIN_MAKRO(@a:1)(@b:2)(@c)]:
      Dieses Makro liefert die Werte (@a), (@b) und (@c) zurück.
      Die Parameter "a" und "b" besitzen Vorgabewerte, der Parameter "c" nicht.
      [@]
      
    Dieses Makro definiert drei Parameter: "a", "b", und "c". Die Parameter "a" und "b" sind mit den Vorgabewerten "1" und "2" vorbelegt. Das Makro kann aus einer Template-Datei auf die folgenden Weisen aufgerufen werden:

    [@MEIN_MAKRO] - Bei Aufruf ohne Parameter werden die Parameter-Vorgabewerte verwendet.

    [@MEIN_MAKRO(@a:Ja)(@b:Nein)(@c:Vielleicht)] - Bei Aufruf mit Parametern ersetzen die an das Makro übergebenen Werte die Parameterwerte im Makro.

    [@MEIN_MAKRO(@c:Vielleicht)(@b:Nein)(@a:Ja)] - Die Reihenfolge der Parameter ist irrelevant, da Parameter durch den Namen und nicht durch die Position referenziert werden.

    [@MEIN_MAKRO(@a:Ja)] - Parameter sind optional. Wenn für einen Parameter kein Wert übergeben wird, wird der Vorgabewert verwendet. Wenn kein Vorgabewert existiert, wird der Parameter durch Leerzeichen ersetzt.
Copyright 1997-2003. All rights reserved. Webgenz is a trademark.
This page was translated into German by Webgenz user Ulrich Fahrnschon.
Webgenz in English

Click Here!