mhenke
I'm new here

Unerklärliches Verhalten in Datenbanktemplate bei Zugriff auf Daten einer Checkbox

Jump to solution

Hallo,

Folgendes HTML-Schnippsel ist in einem Datenbanktemplate eingefügt:

<p>
    $CMS_VALUE(cs_properties)$ - $CMS_VALUE(cs_properties.getClass())$ - $CMS_VALUE(cs_properties.first().getClass())$
</p>

<p>
    $CMS_VALUE(#row.properties)$ - $CMS_VALUE(#row.properties.getClass())$ - $CMS_VALUE(#row.properties.first().getClass())$
</p>

Die Ausgabe sieht folgendermaßen aus:

[ORDERABLE] - de.espirit.common.event.NotifyingSet - de.espirit.firstspirit.access.editor.value.SimpleOption


[] - de.espirit.common.event.NotifyingSet -


Das Mapping ist eingestellt auf

cs_properties -> properties

Das zugehörige Formular sieht so aus:

<CMS_INPUT_CHECKBOX
        name="cs_properties"
        convertEntities="none"
        gridHeight="4"
        gridWidth="1"
        hFill="yes"
        noBreak="no"
        useLanguages="no">
        <ENTRIES>
          <ENTRY value="ORDERABLE">
            <LANGINFOS>
              <LANGINFO lang="*" label="Can be ordered"/>
            </LANGINFOS>
          </ENTRY>
        </ENTRIES>
        <LANGINFOS>
          <LANGINFO lang="*" label="Settings" description=""/>
        </LANGINFOS>
      </CMS_INPUT_CHECKBOX>

    </CMS_GROUP>

Warum wird bei dem Zugriff auf die Daten über das #row - Objekt eine leere Liste zurückgeliefert? Ich würde eigentlich erwarten bei beiden Varianten die selben Daten angezeigt zu bekommen.

Übersehe ich irgendetwas?

Gruß,

Michael

0 Kudos
1 Solution

Accepted Solutions
Peter_Jodeleit
Crownpeak employee

Ist im zweiten Fall das Set wirklich leer? Das die Ausgabe nicht gleich sein kann, liegt daran, das das Entity das Formular nicht kennt. Wenn das Set leer ist ($CMS_VALUE(#row.properties.size) liefert 0) wäre das aber ein Bug, mit dem du dich an das Helpdesk wenden solltets (dann bitte die FirstSpirit-Version mitliefern).

Peter

View solution in original post

0 Kudos
4 Replies
Peter_Jodeleit
Crownpeak employee

Ist im zweiten Fall das Set wirklich leer? Das die Ausgabe nicht gleich sein kann, liegt daran, das das Entity das Formular nicht kennt. Wenn das Set leer ist ($CMS_VALUE(#row.properties.size) liefert 0) wäre das aber ein Bug, mit dem du dich an das Helpdesk wenden solltets (dann bitte die FirstSpirit-Version mitliefern).

Peter
0 Kudos

Es ist dann wohl ein Bug:

datenbanktemplate_problem.png

0 Kudos

Unsere QS hat dieses Problem unter der internen ID #88026 erfasst - für die Kommunikation mit dem Helpdesk.

Peter
0 Kudos
lmeric
I'm new here

Hallo Zusammen,

ich würde hier nochmals nachhaken wollen.

Folgende Beobachtung habe ich über die API gemacht:

Wenn ich mir über den PageStore mir den sprachabhängigen Wert einer Checkbox (mit Häkchen) auslesen lasse, bekomme ich einen XML-Snippet wie diesen hier:

<LANG id="DE" set="1"><SEL><VALUE>myValue</VALUE></SEL></LANG>

Ist auch gut soweit.

Gehe ich aber über den ContentStore, kann ich den Wert einer Checkbox nicht auslesen. Da kommt lediglich dies hier zurück (mit Häkchen):

<LANG id="DE" set="0"/>

Das Mapping ist korrekt gesetzt und der Wert der Checkbox wird in der DB persistiert.

Sehe ich das richtig, dass es der gleiche Bug ist wie oben beschrieben?

FirstSpirit Version: 4.2.437.44763

Danke und besten Gruß

0 Kudos