esstsc
I'm new here

FS_CATALOG über Skript leeren im SA und CC

Jump to solution

Hallo Community,

wir wollen über ein Skipt in einem Template einen FS_CATALOG leeren.

Das Skript wird über einen Button aufgerufen, der als Parameter den Catalog bekommt:

<FS_BUTTON name="pt_addAll" onClick="script:add_all_contacts_to_catalog" style="button">

        <LANGINFOS>

          <LANGINFO lang="*" label="Add all Contacts"/>

        </LANGINFOS>

        <PARAMS>

          <PARAM name="selectedContacts">#field.pt_selectedContacts</PARAM>

          <PARAM name="page">#field</PARAM>

        </PARAMS>

      </FS_BUTTON

Leider schaffen wir es nicht eine Lösung zu finden, die im Content Creator und im SiteArchitect funktioniert. Hier mal die beiden Lösungen, die jeweils nur in einer Variante funktionieren:

Code funktioniert im Content Creator

selectedContactsCatalog = (Catalog)selectedContacts.get();

selectedContactsCatalog.clear();

selectedContacts.set(null);

page.setFormData(pageFormData);

Code funktioniert im SiteArchitect

selectedContactsCatalog = (Catalog)selectedContacts.get();

selectedContactsCatalog.clear();

selectedContacts.set(null);

page.setFormData(pageFormData);

Nun zu unserer Frage:

Haben wir einen Fehler im Skript, bzw. ein falsches Verständnis wie wir den FS_CATALOG leeren?

Können wir vll im Skript unterscheiden, wo wir uns befinden (Content Creator oder SiteArchitect)? Wir haben im Skript den BaseContext zur Verfügung.

Gruß und Danke.

0 Kudos
1 Solution

Accepted Solutions

Wir haben jetzt die folgende Variante benutzt. Funktioniert im CC und SA:

selectedContactsCatalog.clear();

selectedContacts.set(null);

selectedContacts.set(selectedContactsCatalog);

View solution in original post

0 Kudos
6 Replies
mbergmann
Crownpeak employee

Hallo Steffen,

wo genau benutzt ihr denn den FS_BUTTON? Im Formular oder direkt auf der Seite (also in der Vorschau per fsButton()-Funktion? Ich nehme allerdings mal an dass es um die Nutzung in einem Formular geht.

Mich wundert, dass ihr hier überhaupt die "Seite" mit übergebt (was so soweit ich weiß sowieso nicht gedacht ist). Das sollte eigentlich nicht nötig sein, da das Speichern ja nach dem Schließen des Formulars automatisch passiert.

Viele Grüße

Michael

0 Kudos
esstsc
I'm new here

Hallo Michael,

wir benutzen es im Formular.

Ich kann mal testen was passiert wenn ich auf der Seite kein setFormData() aufrufe.

Gruß

Steffen

0 Kudos

mbergmann​ Hast du vielleicht noch eine Idee in welche Richtung is was probieren könnte?

0 Kudos
mbergmann
Crownpeak employee

Hallo Steffen,

ich würde hier einfach (wie ihr es ja auch schon tut) den catalog dem FS_BUTTON mitgeben und dann leeren. Im entspr. Skript bzw. Executable bekommt man dann ja das FormField übergeben und kann darauf "ganz normal" arbeiten. Das selbst setzen des FormData braucht man hier nicht.

Viele Grüße

Michael

0 Kudos

Hallo Steffen,

benötigst Du noch weitere Hilfe oder haben Dir die Antworten von Michael bereits geholfen?

In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere

Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lösung

gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.

Viele Grüße

Sebastian

0 Kudos

Wir haben jetzt die folgende Variante benutzt. Funktioniert im CC und SA:

selectedContactsCatalog.clear();

selectedContacts.set(null);

selectedContacts.set(selectedContactsCatalog);

0 Kudos