Warum funktionieren meine PLinks nicht?

Nur durch das Setzen von <plink>s allein ist noch keine Aktivität "hinter" den Links implementiert.
Wenn man z.B. in einem GenticsContentModule mit der ID "content" Seiten mit <plink>s darstellt, so wird durch das Klicken dieser lediglich der "onSelect" event für das Portlet geworfen, das als PLink Prozessor agiert (im Normalfall ist das das GenticsContentModule selber).
Der vollständige Event-Pfad für diesen Event ist "portal.modules.content.onSelect" (wobei "content" die PNode ID ist).
Möchte man nun etwa, daß das Portlet die geklickte Seite anzeigt, muß man im PNode des Portlets folgende reaction einbauen:

<reaction event="portal.modules.content.onSelect">
portal.modules.content.parameters.contentid = event.properties.contentid
</reaction>

Wodurch wird beeinflußt, welches GenticsContentModule den onSelect event beim Klicken eines <plink>s bekommt?
Dafür gibt es in der Portal Konfiguration zwei Portal Parameter:
  • portal.plinkprocessor ist die PNode ID des GenticsContentModules, das für <plink>s zuständig ist, die außerhalb von GenticsContentModules gerendert werden (z.B. im Portaltemplate, oder anderen Portlets). Sind <plink>s innerhalb von GenticsContentModules plaziert, werden sie im Normalfall auch von diesem Portlet abgefangen. Dieses Verhalten kann mit dem zweiten Parameter geändert werden.
  • portal.plinkprocessor.forceall: wenn auf false gesetzt (default), werden <plink>s, die innerhalb von GenticsContentModules platziert sind, immer von diesen Portlets abgefangen, setzt man den Parameter auf true, dann werden ALLE <plink>s immer vom konfigurierten PLink Prozessor behandelt.

Im Zweifelsfall kann man sich die gerenderten URLs ansehen, am URL Parameter "gentics.am" kann man erkennen, an welches Portlet der Link gehen wird.


Seite drucken
Seite empfehlen


Downloads & Links