Search the FirstSpirit Knowledge Base
Hallo Community,
ich möchte über eine Regel eines Seitentemplates beim Speichern einer auf dem Seitentemplate basierenden Seite eine Eingabekomponente automatisch über einen ValueService, welchen ich als Public Komponenten über ein Modul installiert habe, befüllen. Der Service wird beim Speichern der Seite angesprochen (<ON_SAVE> oder <ON_EVENT>) mit einer Bedingung ob die zu befüllende Eingabekomponten leer ist, soweit so gut. Ich kann Parameter übergeben, das klappt auch. Allerdings will es mir nicht gelingen die Seite selber oder die ID der Seite als Parameter zu übergeben, hat jemand eine Idee wie ich an die Informtion heran komme im ValueService?
Ich habe bereits
<PROPERTY source="global.node" name="VALUE" />
<PROPERTY source="global" name="ID" />
und dergleichen ausprobiert, leider erfolglos :smileyplain:
Hallo Hendrik,
damit wirst du leider keinen Erfolg haben. Du kannst in den Regeln nur auf die in der Doku beschriebenen Dinge von global zugreifen.
Du kannst dafür aber gerne einen Feature Request stellen.
Viele Grüße
Thorsten
Hallo Thorsten,
danke für das Feedback!
Gruß,
Hendrik
Hallo Hendrik,
nach längerem rumprobieren habe ich es dennoch geschafft an die ID der Inhaltsseite zu kommen.
Hilfereich war hierfür folgender Eintrag: https://community.e-spirit.com/message/17405#17405
Code:
public Object getValue(SpecialistsBroker specialistsBroker, Map<String, ?> parameters)
{
WebeditUiAgent webeditUiAgent = specialistsBroker.requestSpecialist(WebeditUiAgent.TYPE);
UIStoreAgent uiStoreAgent = specialistsBroker.requestSpecialist(UIStoreAgent.TYPE);
// JavaClient.
if (uiStoreAgent != null)
{
GuiStoreElement activeUiElement = uiStoreAgent.getActiveUiElement();
if (activeUiElement != null)
{
System.out.println("Debug id:" + activeUiElement.getId());
System.out.println("Debug storeElement:" + activeUiElement.getStoreElement());
}
}
// WebEdit.
if (webeditUiAgent != null)
{
String uid = webeditUiAgent.getPreviewElement().getUid();
long id = webeditUiAgent.getPreviewElement().getId();
}
...
Grüße
Martin Dirlewanger
Die Nutzung des UIStoreAgent wird nicht empfohlen, es handelt sich hier nicht um freigegebene API!
Gruß
Stefan
Welche Informationen benötigt denn deine Implementierung genau? Wirklich die Seiten-ID?
Die ID wäre schonn toll. Könnt ihr da was machen ? ;--)
Von mir war zwar der andere Beitrag https://community.e-spirit.com/message/18760 Wir hatten den Anwendungsfall, dass wir die Sichtbarkeit von Eingabekomponenten abhängig von der Verwendung steuern wollten. Felder sollten z.B. sichtbar sein, wenn der Absatz in einer FS_LIST verwendet wird, jedoch nicht in einer Content Section.
Mit der SeitenID kann man alle gewünschten Anwendungsfälle abarbeiten, bei mir war es speziell der Zugriff auf die MetaDaten der Inhaltsseite.