f_koenig
Returning Observer

Zugriff auf #global in Wertermittlung einer Regel

Hallo zusammen,

weiß jemand, wie ein Wert aus dem #global-Objekt im Rahmen einer Wertermittlung innerhalb einer Regel verwendet werden kann?

Ich hatte erwartet, dass es so funktionieren müsste:

<RULE>

<WITH>

<PROPERTY name="ID" source="#global"/>

</WITH>

<DO>

<PROPERTY name="VALUE" source="tt_pageID"/>

</DO>

</RULE>

Leider wird das Feld nicht mit der Seiten-ID befüllt.

Vielen Dank und viele Grüße
Fabian

10 Replies
StefanSchulz
I'm new here

Hallo Fabian,

was ist denn tt_pageID für ein Komponententyp?

Beste Grüße

Stefan

0 Kudos

Hallo Stefan,

ich habe einfach ein CMS_INPUT_TEXT probiert:

  <CMS_INPUT_TEXT name="tt_pageID">

    <LANGINFOS>

      <LANGINFO lang="*" label="Seiten-ID"/>

    </LANGINFOS>

  </CMS_INPUT_TEXT>

0 Kudos
hoebbel
Crownpeak employee

Hallo Fabian,

das Problem ist hier, dass

<PROPERTY name="ID" source="#global"/>

eine Zahl ergibt, CMS_INPUT_TEXT aber einen String erwartet.

Du kannst entweder CMS_INPUT_NUMBER als Ziel nehmen oder UID statt ID als Quelle.

Anmerkung: Im Log des SiteArchitect solltest Du einen entsprechenden Fehler sehen, der Dich auf den falschen Typ hinweist.

Viele Grüße

Holger

f_koenig
Returning Observer

Hallo Holger,

vielen Dank für deine Antwort.

Im SiteArchitect funktioniert das wunderbar, sobald ich das Objekt aber im ContentCreator öffne, wird das Feld tt_pageId nicht ausgefüllt.

Kannst du mir hier noch einmal weiterhelfen?

Viele Grüße

Fabian


sa.jpg

cc.jpg

0 Kudos
hoebbel
Crownpeak employee

Hallo Fabian,

ich fürchte, dass Du jetzt genau die Einschränkung gefunden hast, in die ich in 9980 hingewiesen habe:

Im ContentCreator steht beim Bearbeiten eines Datensatzes der Kontext der aktuell geöffneten Seite nicht zur Verfügung. Der Kontext wird aber benötigt, um das Property mit dem source #global auflösen zu können.

Tut mir leid, für den Anwendungsfall habe ich keine Lösung parat (außer der Bitte, einen entsprechenden Änderungswunsch einzustellen)

Holger

0 Kudos
f_koenig
Returning Observer

Hallo Holger,

danke, dass habe ich schon befürchtet Smiley Sad.

Wenn ich dich richtig verstehe, ist es also im Moment nicht möglich im ContentCreator den Kontext zu bekommen? Das ergibt aus meiner Sicht keinen Sinn.

Oder gibt es einen tieferen Grund dahinter warum das System da so komplett anders handelt als im SiteArchitect?

Einen Änderungswunsch sollte ich hier in der Community einstellen, oder?

Viele Grüße
Fabian

0 Kudos
hoebbel
Crownpeak employee

Hallo Fabian,

erstmal die einfache Teilantwort: Ja, einen Änderungswunsch solltest Du hier in der Community einstellen.

Den exakten Grund für das unterschiedliche Verhalten zwischen ContentCreator und SiteArchitect kenne ich [noch] nicht. Das kann beispielsweise technische Ursachen oder konzeptionelle Gründe haben. Ich bin da selbst erst vor kurzem bei einem Test drauf gestoßen und hatte noch keine Zeit, tiefer zu forschen.

Ein Feature Request - insbesondere, wenn für diesen Mitarbeiter vieler Kunden/Partner voten - ist sehr hilfreich bei der Argumentation, warum eine entsprechende Änderung in die Software übernommen werden soll.

Viele Grüße

Holger

0 Kudos

Hi,

eigentlich wundert mich eher, dass diese Kontextinformation im SiteArchitect vorliegt. Technisch und fachlich ist ein Datensatz ja eine eigene Entität, die von einer FS_INDEX-Komponente lediglich referenziert wird. Und entsprechend auch von verschiedenen Stellen aus referenziert werden kann. Entsprechend ist dann ja potentiell, je nach Ausgangspunkt, ein anderer Kontext gegeben und es würden für den gleichen Datensatz unterschiedliche Formularinhalte angezeigt. Ob dies so sinnvoll ist, kann man bezweifeln.

Im ContentCreator kommt noch hinzu, dass der Ausgangspunkt auf Server-Seite ist und solche Informationen nicht zwingend auf Client-Seite zur Verfügung stehen. Dies liegt unter Anderem an der starken Trennung zwischen Webumgebung und Serveranwendung.

Das sollte dich jedoch nicht davon abhalten, einen Änderungswunsch zu erstellen.

Beste Grüße

Stefan

0 Kudos

Hallo Stefan,

in meinem Use Case geht es vor allem darum, innerhalb eines Datensatzes auf einen anderen Datensatz zu referenzieren. Dabei soll der User nur Datensätze als Referenz auswählen können, die innerhalb der gleichen Seite verwendet werden.

Da ich keine Möglichkeit gefunden haben zu prüfen, welche Datensätze bereits in einer FS_INDEX-Komponente verwendet werden und diese Information in meiner Query zur Auswahl der Referenz-Datensätze einzubauen habe ich diesen Ansatz mit #global.id gewählt.

Wenn du eine andere Idee hast wie das umzusetzen sein könnte, wäre ich dir sehr dankbar.

Viele Grüße
Fabian

0 Kudos