Aller au contenu principal

Entity aus Option

Commentaires

7 commentaires

  • Zendesk API User
    Author: StefanSchulz - 7/13/2015 8:35

    Hallo Philipp,

    könntest du noch kurz ausgeben und hier posten, was für eine Kontextklasse du im FSM-Fall bekommst?

    Beste Grüße

    Stefan

    0
  • Zendesk API User
    Author: philippr - 7/13/2015 9:29

    Hallo Stefan,

    ich befinde mich da im GenerationContext.

    Die Klasse lautet: de.espirit.firstspirit.generate.SiteProduction

    Ich gehe mal davon aus, dass du den context aus der Map, die der execute-Methode übergeben wird, meinst.

    Vielleicht noch zum Hintergrund:

    Die CMS_INPUT_COMBOBOX mit dem Namen "pt_product_range" ist eine Eingabekomponente einer Seite, die bei der Generierung Informationen zu einer bestimmten product_range in Form von JSON bereitstellen soll. Der Inhalt der JSON Datei wird im HTML Kanal der Seite über ein Script aufruf ($CMS_RENDER(script:...)$) bewerkstelligt. Dieses Script ruft die FSM Klasse auf, dessen Log-Ausgaben im o.g. Beispiel zu sehen sind.

    Viele Grüße,

    Philipp

    0
  • Zendesk API User
    Author: StefanSchulz - 7/13/2015 10:04

    Ok, auf den Kontext hätte ich auch selbst kommen können, Lesen hilft :smileywink:

    Allerdings sehe ich aktuell (im Code) nicht, wieso die Option anders aufgelöst wird. Interessant wäre vielleicht noch die Klasse des FormData-Objekts. Eventuell übersehe ich irgendwo eine Sonderbehandlung.

    0
  • Zendesk API User
    Author: philippr - 7/13/2015 11:19

    Alles gut (das übliche Wald-lauter-Bäume-Problem, kenn ich nur zu gut :smileywink:)

    Habe mal die Klassen für das FormData und das FormField Objekt rausgesucht:

    FSM-Fall:

    context.logInfo("FormData Class:" + context.getPage().getFormData().getClass());

    context.logInfo("FormField Class:" + context.getPage().getFormData().get(language, "pt_product_range").getClass());

    INFO  13.07.2015 11:47:55.958{g-node=266289} (de.espirit.firstspirit.generate.SiteProduction): FormData Class:class de.espirit.firstspirit.store.access.DataWrappingFormData

    INFO  13.07.2015 11:47:55.958{g-node=266289} (de.espirit.firstspirit.generate.SiteProduction): FormField Class:class de.espirit.firstspirit.store.access.DataWrappingFormData$EditorValueWrappingFormField

    Im BeanShell-Fall:

    bsh % e.getFormData();

    <de.espirit.firstspirit.store.access.DataWrappingFormData@8b11c8e1>

    bsh % e.getFormData().get(e.getProject().getMasterLanguage(), "pt_product_range");

    <de.espirit.firstspirit.store.access.DataWrappingFormData$EditorValueWrappingFormField@1d1ba6>

    Also aus meiner Sicht nichts auffälliges.

    Viele Grüße,

    Philipp

    0
  • Zendesk API User
    Author: StefanSchulz - 7/13/2015 13:24

    Nun, auch bei abgesäbeltem Wald sieht man die Bäume nicht mehr. Sehr verwirrend. Gleicher Ausgangspunkt, gleiche Klassen. :smileyconfused:

    Könnte ein Fehler sein.

    0
  • Zendesk API User
    Author: philippr - 7/14/2015 14:34

    Hallo Stefan,

    ich hab da mal ein Ticket angelegt:

    https://helpdesk.e-spirit.com/requests/18583

    Unabhängig von dem Fehler, der Workaround wäre ja dann über die FS-ID bzw. GUID an die Entity zu kommen. Der schnellste Weg der mir einfällt wäre über eine Session eine Query zu erstellen um dann direkt auf die GUID oder FS-ID abzufragen, korrekt?

    Grüße,

    Philipp

    0
  • Zendesk API User
    Author: StefanSchulz - 7/15/2015 6:40

    Hi Philipp,

    wenn du eine GID bekommst und den EntityType hast (zumeist über das passende TableTemplate), kannst du direkt über die Session eine Anfrage mittels find(type, uuid) starten. Ansonsten wohl eine Query bauen, ja.

    Beste Grüße

    Stefan

    0

Vous devez vous connecter pour laisser un commentaire.