npsobj insertvalue dynamiclink

Syntax

npsobj_insertvalue_dynamiclink::=

  <npsobj insertvalue = "dynamiclink"
    destination = "destination"
    [ formatter = "formatter_procedure_alias" ]
    {other_attribute} />

other_attribute::= string = "string"

Aufgabe

Das Element dient dazu, include-Anweisungen in der Syntax beliebiger Skriptsprachen (PHP, JSP, SSI) zu erzeugen und die Referenz in die automatische Linkverwaltung aufzunehmen. Das Element sollte aus Performance-Gründen nur zu seinem eigentlichen Zweck – die serverseitige Inklusion von Dateien – und nicht zur Berechnung relativer Pfade verwendet werden. Für letzteres ist ein Formatter in einer insertvalue-var-Anweisung oder eine systemexecute-Anweisung ausreichend. Damit dynamische Links in der Vorschau funktionieren, muss die Vorschau dynamisch sein.

Der erzeugte Link hat den Typ dynamic.

Die Attribute haben die folgende Bedeutung:

  • Wenn formatter angegeben ist, wird die Tcl-Prozedur ausgeführt, die im Systemkonfigurationseintrag export.tclDynamicLinkFormatterCommands den Alias formatter_procedure_alias hat. Dieser Prozedur werden die unten aufgeführten Argumente übergeben. Der Rückgabewert dieser Prozedur wird anstelle der gesamten NPSOBJ-Anweisung in die exportierte Seite eingefügt. Wenn formatter nicht angegeben ist, so wird anstelle der Anweisung destination eingefügt.

  • Mit destination wird der Pfad oder die URL angegeben, die die Formatierungsprozedur verarbeiten soll. destination kann ein relativer oder absoluter Pfad oder eine URL sein. Pfade werden als interne, URLs als externe Links in die Linkverwaltung übernommen.

  • Als other_attribute können beliebige Attribute angegeben werden.

Da die referenzierte Datei von beliebigen Dateien in der Live-Server-Verzeichnishierarchie inkludiert werden und auch selbst wieder Links enthalten kann, lassen sich der Content Manager und die Template Engine mit dem Systemkonfigurationseintrag export.exportAbsolutePaths so einstellen, dass interne Pfade und URLs in der referenzierten Datei absolut exportiert werden. Ist dieser Wert auf YES gesetzt, werden die im Eintrag export konfigurierbaren Präfixe für absolute Pfade und URLs verwendet.

Der Formatierungsprozedur werden die folgenden Argumente in der angegebenen Reihenfolge übergeben:

  • Die URL des Ziels, d. h. der CMS-Dateipfad, gegebenenfalls mit URL-Präfix;
  • der Dateisystem-Pfad des Ziels, gegebenenfalls mit Dateisystem-Präfix;
  • die ID der exportierten Datei;
  • eine Liste mit allen other_attribute-Attributen und ihren Werten als Name-Wert-Paare.

Beispiel

Die folgende Anweisung erzeugt in der exportierten Datei eine PHP-include-Anweisung, die die Datei mit dem Pfad ../some/path inkludiert. Es wird ein Link auf die referenzierte Datei erzeugt, der in die Linkverwaltung aufgenommen wird. Wird – bei Referenzen auf CMS-Dateien – die referenzierte Datei verschoben, so werden der Link und die NPSOBJ-Anweisung automatisch angepasst.

<npsobj insertvalue="dynamicLink" destination="../some/path" formatter="phpInclude" />

Die Anweisung gibt die folgende PHP-Anweisung zurück:

<? include("/from/root/to/some/path"); ?>