Grayback
I'm new here

Auslesen der Verwendung einer Linkvorlage per Skript

Jump to solution

Hallo,

Ich muss derzeit ein Skript schreiben welches die Verwendung von Vorlagen ausliest und in eine .csv-Datei schreibt.

Bisher ist das auch nicht das Problem.

Ich hole mir per Formular die Vorlage um welches es gehen soll und schreibe dann alle IncomingReferences mit ID und Projekt in die .csv-Datei.

Nun habe ich folgendes Problem. Bei Linkvorlagen bleibt die .csv-Datei leer. Gibt es eine Möglichkeit per Skript an die Verwendungen oder Abhängigkeiten einer Linkvorlage zu kommen?

Oder ist das gar nicht möglich? Mich wundert es nähmlich wenn man mit Rechtsklick im Strukturbaum auf eine Seiten- oder Absatzvorlage klickt, steht ja unter Extras "Verwendungen anzeigen". Dieses Feld gibt es nur bei Linkvorlagen nicht.

Falls weitere Infos benötigt werden sagt einfach Bescheid.

Viele Grüße

Kenny

1 Solution

Accepted Solutions

Hallo Andreas,

Danke für deine Antwort.

Ich habe inzwischen das Problem selbst gefunden.

Ich habe mir das StoreElement nur mit dem Parameter "UidType.TEMPLATESTORE" geholt.

Habe mein Skript nun angepasst das es zwischen "TEMPLATESTORE", "TEMPLATESTORE_FORMATTEMPLATE" und "TEMPLATESTORE_LINKTEMPLATE" unterscheiden kann.

Und siehe da es wirft keine Exceptions mehr. Smiley Happy

Viele Grüße

Kenny

View solution in original post

0 Kudos
3 Replies
aVogt
Returning Creator

Hallo Kenny,

welche FS-Version hast Du im Einsatz?

Im SiteArchitect steht in unserer Version bei Linkvorlagen "Abhängigkeiten anzeigen" zur Verfügung.

Ich habe so etwas auch gescriptet. Ich gehe über getIncomingReferences() (über IDProvider)

Funktioniert ohne Probleme auch bei Verweisvorlagen.

Lege doch eine Verweisvorlage an, die nicht verwendet wird. Die müsste dann in Deinem Script als nicht verwendet ausgegeben werden.

Grüße

Andreas

Hallo Andreas,

Danke für deine Antwort.

Ich habe inzwischen das Problem selbst gefunden.

Ich habe mir das StoreElement nur mit dem Parameter "UidType.TEMPLATESTORE" geholt.

Habe mein Skript nun angepasst das es zwischen "TEMPLATESTORE", "TEMPLATESTORE_FORMATTEMPLATE" und "TEMPLATESTORE_LINKTEMPLATE" unterscheiden kann.

Und siehe da es wirft keine Exceptions mehr. Smiley Happy

Viele Grüße

Kenny

0 Kudos

Hallo Kenny,

kleiner Tipp: Man vermeidet solche Fehler, indem man sich UidType.xxx komplett abgewöhnt und stattdessen konsequent <ElementInterface>.UID_TYPE nutzt. Also z.B. LinkTemplate.UID_TYPE, Media.UID_TYPE oder PageFolder.UID_TYPE usw. So muss man sich keine Gedanken um die UID-Namensräume machen. Leichter lesbar ist es auch, weil exakt der Type im Code steht den man sich holen will (wobei allerdings nicht sichergestellt ist dass man den auch bekommt - eben wegen teilweise gemeinsamer Namensräume).

Viele Grüße

Michael

0 Kudos