PDM_MACRO - Inserimento di testo da un file macro

Il tag viene utilizzato per inserire un file macro in un file HTMPL. Il suo funzionamento è simile a PDM_INCLUDE ma con due importanti differenze:
casm173
Il tag viene utilizzato per inserire un file macro in un file HTMPL. Il suo funzionamento è simile a PDM_INCLUDE ma con due importanti differenze:
  • Un file incluso mediante il tag PDM_MACRO presenta un elenco formale di argomenti, con argomenti obbligatori e valori predefiniti.
  • Un file incluso mediante il tag PDM_MACRO proviene sempre dalla directory specificata nella proprietà di configurazione MacroPath, indipendentemente dal tipo di accesso dell'utente corrente.
  • NAME=
    nomemacro
    (Obbligatorio) Specifica la macro da includere. Il motore Web inserisce il suffisso ".mac" e cerca il file nel percorso specificato dalla proprietà MacroPath del file di configurazione.
A seconda della macro inclusa, possono essere necessarie altre proprietà. Il layout generale di un file macro è:
comments #args name1 [= value1] name2 [= value2] ... #data data to insert
Le descrizioni seguenti descrivono il layout del file, riga per riga:
  • commenti
    -- Le uniche istruzioni valide in una macro prima dell'istruzione #args sono i commenti. I commenti sono indicati mediante il segno # o // come primo carattere diverso dallo spazio.
  • #args
    -- deve presentare esattamente la codifica mostrata, con il segno # nella colonna uno e nessun'altra informazione nella riga. Questa istruzione inizia la sezione "args" che può contenere definizioni degli argomenti e commenti.
  • nome [= valore]
    -- Definisce un argomento per la macro. Per la macro sono validi solo gli argomenti citati esplicitamente nella sezione "args". Un valore specificato per un argomento nella sezione "args" costituisce il valore predefinito di tale argomento. Gli argomenti privi di valore predefinito sono obbligatori e devono essere forniti dal file chiamante nella stessa istruzione .
  • #data
    -- Deve presentare esattamente la codifica mostrata, con il segno # nella colonna uno e nessun'altra informazione nella riga. Questa istruzione inizia la sezione "data", che è parte della macro inserita nel file usando PDM_MACRO. Tutto il contenuto della sezione "data" viene inserito nel file chiamante, comprese le righe dei commenti prima della sezione "data".
  • dati da inserire
    -- I dati da inserire nel file chiamante. Questi dati possono contenere riferimenti ad argomenti nel formato:
  • &{arg_name}
    -- Questi riferimenti sono sostituiti dal valore dell'argomento fornito dal file chiamante o dal valore predefinito, in assenza del valore del chiamante.
Il motore Web generalmente legge un file macro una sola volta, ovvero la prima volta in cui viene usato, e conserva la macro analizzata nella propria memoria. In tal modo è possibile migliorare le prestazioni, tuttavia può presentare alcuni inconvenienti nel caso in cui la macro sia in fase di sviluppo. Usare la proprietà SuppressMacroCache del file di configurazione per impedire questo comportamento e far sì che il motore Web elimini tutte le macro memorizzate ogni volta che viene avviata l'elaborazione di un nuovo modulo.
Esclusione dei tag PDM_MACRO
Per escludere i tag <PDM_MACRO> dall'elaborazione, inserire un punto esclamativo davanti alla P, come segue: <!PDM_MACRO>. Per impedire che il browser elabori la parte del modulo esclusa, inserire <PDM_IF 0> prima del tag <!PDM_MACRO> e </PDM_IF> dopo la riga esclusa. Esempio:
<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>