PDM_MACRO: Einfügen von Text aus einer Makrodatei

Das <PDM_MACRO>-Tag wird verwendet, um eien Makrodatei in eine HTMPL-Datei einzufügen. Die Funktionsweise dieses Tags ähnelt der des Tags PDM_INCLUDE mit zwei wichtigen Unterschieden:
casm173
Das <PDM_MACRO>-Tag wird verwendet, um eien Makrodatei in eine HTMPL-Datei einzufügen. Die Funktionsweise dieses Tags ähnelt der des Tags PDM_INCLUDE mit zwei wichtigen Unterschieden:
  • Eine Datei, die von PDM_MACRO eingeschlossen wird, weist eine formelle Argumentliste mit erforderlichen Argumenten und Argumenten mit Standardwerten auf.
  • Eine Datei, die von PDM_MACRO eingeschlossen wird, stammt immer aus dem Verzeichnis, das für die Konfigurationseigenschaft MacroPath angegeben ist, unabhängig vom Zugriffstyp des aktuellen Anwenders.
  • NAME=
    macroname
    (Erforderlich) Gibt das einzuschließende Makro an. Das Webmodul fügt das Suffix „.mac“ an und sucht nach der Datei in dem Pfad, der von der Konfigurationsdateieigenschaft MacroPath angegeben wird.
Andere Eigenschaften können in Abhängigkeit vom eingeschlossenen Makro erforderlich sein. Eine Makrodatei weist das folgende allgemeine Layout auf:
comments #args name1 [= value1] name2 [= value2] ... #data data to insert
Im Folgenden wird das Dateilayout Zeile für Zeile erläutert:
  • comments:
    Die einzigen gültigen Anweisungen in einem Makro vor der Anweisung #args sind Kommentare. Kommentare sind entweder durch das Zeichen # oder // am Anfang gekennzeichnet.
  • #args
    : Muss genau wie angezeigt mit dem Rautezeichen (#) in Spalte Eins und keinen weiteren Informationen in der Zeile kodiert werden. Diese Anweisung steht am Anfang des args-Abschnitts, der Argumentdefinitionen und Kommentare enthalten kann.
  • name [=value]
    : Definiert ein Argument für das Makro. Nur Argumente, die explizit im args-Abschnitt genannt werden, sind für das Makro gültig. Ein Wert, der für ein Argument im args-Abschnitt angegeben wird, entspricht dem Standardwert des Arguments. Argumente ohne Standardwert sind erforderlich und müssen vom Anrufer an die <PDM_MACRO>-Anweisung geliefert werden.
  • #data
    : Muss genau wie angezeigt mit dem Rautezeichen (#) in Spalte Eins und keinen weiteren Informationen in der Zeile kodiert werden. Diese Anweisung steht am Anfang des Datenabschnitts, der Teil des Makros ist, das mit PDM_MACRO in die Datei eingefügt wird. Alles im Datenabschnitt wird in die aufrufende Datei eingeschlossen, einschließlich der Zeilen, die Kommentare vor dem Datenabschnitt enthalten.
  • data to insert
    : Die in die aufrufende Datei einzufügenden Daten. Diese Daten können im folgenden Format Referenzen auf Argumente enthalten:
  • &{arg_name}
    : Diese Verweise werden durch den vom Anrufer bereitgestellten Wert des Arguments oder durch den Standardwert ersetzt, wenn der Anrufer keinen Wert geliefert hat.
Das Webmodul liest Makrodateien normalerweise nur einmal, wenn sie jeweils das erste Mal verwendet werden, und speichert anschließend das analysierte Makro im eigenen Speicher. Dies verbessert zwar die Leistung, kann aber ungünstig sein, wenn Sie ein Makro entwickeln. Verwenden Sie die Konfigurationsdateieigenschaft SuppressMacroCache, um dieses Verhalten zu verhindern und damit das Webmakro alle Makros im Speicher verwirft, sobald es mit der Verarbeitung eines neuen Formulars beginnt.
So kommentieren Sie PDM_MACRO-Tags aus
Geben Sie zum Auskommentieren von <PDM_MACRO>-Tags ein Ausrufezeichen vor dem P ein: <!PDM_MACRO>. Um zu verhindern, dass der Browser den auskommentierten Teil des Formulars verarbeitet, fügen Sie vor dem <!PDM_MACRO>-Tag und nach der Zeile ein, die Sie auskommentiert haben. Beispiel:
<PDM_IF 0> <!PDM_MACRO NAME=dtlDropdown hdr="Status" attr=status lookup=no evt="onBlur=\\\"detailSyncEditForms(this)\\\""> <!PDM_MACRO NAME=dtlDropdown hdr="Priority" attr=priority lookup=no evt="onBlur=\\\"detailSyncEditForms(this)\\\""> </PDM_IF>