Zum Hauptinhalt gehen

FS_CATALOG wird nicht gerendert

Kommentare

4 Kommentare

  • Zendesk API User
    Author: kuepper - 9/15/2020 6:48

    Hey Dajana,

    das .items ist in der Ausgabe zu viel. $CMS_VALUE(stBoxInhalt)$ rendert dir alle Einträge des FS_CATALOG stBoxInhalt. Wenn du über die Einträge iterieren möchtest, dann verwende

    $CMS_FOR(for_box, stBoxInhalt)$

        $CMS_VALUE(for_box)$

    $CMS_END_FOR$

    - Falls du noch auf einzelne Eingabekomponenten der Catalog-Einträge (Cards genannt) zugreifen möchtest, dann geht das mittels for_box.item. Würde ich jedoch nicht empfehlen, da du dann stets wissen musst, welche Templates in deinem Catalog liegen.

    Ich weiß leider nicht so recht, wie dein Skript nun mit dem Catalog-Problem zusammenhängt... Vielleicht hilft der FS_LIST-Migrationsleitfaden weiter, falls du ihn noch nicht kennst: Online Dokumentation FirstSpirit - FS_LIST: Migration Guide

    Beste Grüße

    Florian

    0
  • Zendesk API User
    Author: DajanaBegic - 9/15/2020 7:20

    Hallo Florian,

    das funktioniert leider nicht.

    es ist so das ich in diesem Absatztemplate ein FS_CATALOG habe, das ist mein stBoxInhalt.

    In diesem Catalog füge ich Listen Elemente von einem anderen Template ein (aktuelle_publikationen)

    hier kommt das script ins spiel, dieses script liest die Datensätze aus der Datenquelle aus und das aktuelle publikationen Template rendert diese.

    Wenn ich das Absatztemplate aktuelle publikationen nutze, dann bekomme ich auch die Datensätze rausgerendert, demnach funktioniert auch mein Script.

    Jedoch wenn ich diese aktuellen publicationen in dem boxtemplate mit einem FS_Catalog einfüge dann wird mir nichts gerendert.

    Ich habe mal versucht derart was rauszurendern:

    $--$CMS_FOR(box, stBoxInhalt.items)$

        $CMS_VALUE(box.get("stPublicationTypes").values)$

    $CMS_END_FOR$--$

    da bekomme ich so etwas rausgerendert:

    [de.espirit.firstspirit.store.access.contentstore.DatasetImpl{de.espirit.or.impl.EntityImpl@aeb9dede{Publikationstypen,PERSISTENT,released,FS_ID=23873,FS_VALID_FROM=1339745089005,FS_VALID_TO=9223372036854775807,FS_RELEASE_TO=9223372036854775807,FS_GID=00000000-0000-0000-0000-000000000000}}]

    Grüße - Dajana

    0
  • Zendesk API User
    Author: kuepper - 9/15/2020 7:47

    Hmmm... Du hast also ein Sectiontemplate "box" mit einem FS_CATALOG. Darin wiederum ein Template "aktuelle_publikationen". In diesem Template rufst du ein Skript auf, welches Datensätze ausliest und rendert? Damit sollte eigentlich der von mir gezeigte Code funktionieren. Aber eventuell ist ein Details noch nicht ganz klar, warum es letztlich nicht geht.

    Zu deiner letzten Antwort: values gibt dir in diesem Fall eine Collection von Datasets. Du könntest probieren über diese Datasets zu iterieren und dir jeweils das FormData in einen CMS_VALUE zu packen.

    $CMS_FOR(box, stBoxInhalt.items)$

        $CMS_FOR(for_dataset, box.get("stPublicationTypes").values)$

             $CMS_VALUE(for_dataset.formData)$

        $CMS_END_FOR$

    $CMS_END_FOR$

    Und noch ein Hinweis: Ich bin nicht sicher, warum du das Auslesen der Datensätze über ein Skript machst und nicht über ein ContentSelect? Ich würde letzteres empfehlen, da es näher am Standard ist (und vermutlich auch performanter).

    Viele Grüße

    Florian

    0
  • Zendesk API User
    Author: DajanaBegic - 9/15/2020 9:17

    Hallo Florian,

    das Script ist Historisch bedingt, ich habe es dann im Rahmen des FS Update und der FS_LIST migriert.

    Den Vorschlag von dir oben habe ich auch schon ausprobiert.

    Was für mich auch sehr logisch scheint.

    Ich hole mir in der ersten Ebene aus dem Section Template die Items (FS_CATALOG).

    ein stBoxInhalt.size zeigt mir auch an das da was drin ist.

    Dann iteriere ich ich über die einzelnen BoxInhalte die "aktuellen_publikationen" diese sind aber wieder auch ein FS_INDEX.

    die hole ich mir über die values und formData.

    Aber es wird nicht angezeigt.

    Grüße Dajana

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.