Aktuell zu generierenden Datensatz aus der Node auslesen
Author: flba
Publication Date: 11/16/2010 9:11
Guten Tag zusammen,
ich steh gerade vor folgendem Problem:
Ich durchsuche aktuell meine Seiten nach dem vorhanden sein eines bestimmten Datenquellenabsatzes, da ich Inhalte dessen zur Generierung eines spezifischen meta-Tags im Seitenheader benötige.
Hierfür übergebe ich aus der Header-Formatvorlage mittels
$CMS_SET(actNode, #global.node)$
den Knoten an mein Skript. Nun versuche ich mir folgendermaßen Zugriff auf die Daten zu beschaffen:
actNode = context.getVariableValue("actNode");
masterLng = context.getProject().getMasterLanguage();
params = actNode.getContent2Params();
data = params.getData(masterLng);
Allerdings bekomme ich hiermit lediglich die Menge aller gerenderten Datensätze zurück und nicht nur den aktuell an zu zeigenden. Besteht eine Möglichkeit sich lediglich den Datensatz zu beschaffen, der innerhalb der Seite auftauchen wird?
Mit freundlichen Grüßen,
Florian Bätz
Tags: datenquelle, development
-
Author: hoebbel - 11/16/2010 9:29
Hallo Herr Bätz,
ich halte diesen Ansatz [Skript] für nicht ganz so gelungen, deshalb hier mal eine Lösung mit Templatemitteln:
An der gewünschten Stelle _außerhalb_ der Tabellenvorlage können alle Datensätze, die auf der Seite dargestellt werden sollen, so bekommen werden:
$CMS_IF(!#global.multiPageParams.data.isNull)$$-- nur notwendig, wenn die Seitenvorlage auch für Seiten ohne Tabellenvorlage benutzt wird --$
$CMS_FOR(datensatz,#global.pageParams.data)$
$-- hier wird über alle Datensätze iteriert. Mit $CMS_VALUE(Datensatz.<Spaltenname>)$ kann der Inhalt einer beliebigen Spalte ausgegeben werden --$
$-- wenn auf der Seite nur ein Datensatz ausgegeben wird, dann wird die Schleife natürlich auch nur einmal durchlaufen --$
$CMS_END_FOR$
$CMS_END_IF$Zur Not kann in der Schleife auch der Datensatz an das Skript übergeben werden, aber ich glaube nicht, dass das normalerweise sinnvoll ist :smileywink:
Viele Grüsse aus Dortmund,
Holger Höbbel
0
Vous devez vous connecter pour laisser un commentaire.
Commentaires
1 commentaire