npspm-Elemente parametrisieren

In Layoutdateien des Content Management Servers können alle npspm-Anweisungen bis auf showIfLoggedIn parametrisiert werden. Dies ist in Layouts erforderlich, in denen npspm-Elemente für die einzelnen Bestandteile einer Liste erzeugt werden, die erst beim Export vorliegt (beispielsweise eine toclist oder eine Liste freier Links). Eine npspm-Anweisung zu parametrisieren bedeutet, Variablen anstelle der Namen bekannter Felder der exportierten Datei zu verwenden. Dadurch lässt sich auch in erzeugten Listen für jedes Element die Zugriffsberechtigung prüfen:

<npsobj list="toclist">
  <npspm showIfAccessible="@self"> ... </npspm>
</npsobj>

Um nur dann HTML-Text (oder andere Ausgaben) zu erzeugen, wenn ein Benutzer Mitglied einer oder mehrerer Benutzergruppen ist, kann die folgende npspm-Anweisung verwendet werden:

<npspm showIfMember="@memberList"> ... </npspm>

memberList stellt im obigen Beispiel ein Mehrfachaufzählungsfeld dar, das Gruppennamen enthält. Wie bei showIfMember beschrieben, können die Gruppennamen auch direkt angegeben werden (mit dem vertikalen Strich als Trenner). Hier das ausformulierte Beispiel, mit dem eine Liste erzeugt wird, bei der für jedes Element die Zugriffsberechtigung geprüft wird:

<ul>
  <npsobj list="toclist">
    <npspm showIfMember="@memberList">
      <li>
        <npsobj insertvalue="anchor" name="self">
          <npsobj insertvalue="var" name="title" />
        </npsobj>
      </li>
    </npspm>
  </npsobj>
</ul>

In der erzeugten Liste sind nur Elemente enthalten, auf die der Benutzer zugreifen darf.