aVogt
Returning Creator

Generierungspfad einen Mediums in einem Script ermitteln

Hallo,

ich habe in einer Datentabelle ein Link auf ein Medium (über die Eingabekomponente <CMS_INPUT_LINK>).

In den Vorlagen bekommt man den Generierungslink einfach mit $CMS_VALUE(SPALTENNAME)$

Wie bekomme ich den Generierungslink auf das Medium in einem Script heraus?

Entity.getValue(SPALTENNAME).

liefert:

<CMS_VALUE name="st_dok" tag="CMS_INPUT_LINK"><LANG id="§" set="1"><LINK><LINK linktemplate="medium_referenz.standard" mediaref="media:FHBVS_0002_RglDok" type="medium_referenz"/></LINK>

Den Referenznamen bekomme ich also heraus.

Gibt es eine Methode, die mir den generierungslink liefert, oder muss ich mir ein "Medium" mit dem referenznamen erzeugen und dann solange mir den "parent" liefern lassen, bis ich im "root" angelangt bin?

Die "parent" müssten ja die "Ordner" sein.

0 Kudos
6 Replies
m_Schlenz
I'm new here

Hallo Herr Vogt

Den Referenznamen bekomme ich also heraus.

Gibt es eine Methode, die mir den generierungslink liefert, oder muss ich mir ein "Medium" mit dem referenznamen erzeugen und dann solange mir den "parent" liefern lassen, bis ich im "root" angelangt bin?

Die "parent" müssten ja die "Ordner" sein.

Ich hätte mir auch schon so eine Methodee gewünscht. Da die Erzeugung eines Links von den Eigenschaften das Generierungsauftrages abhängt ist dies leider nicht ganz so einfach.

Falls Sie sich für die Skriptlösung entscheiden sollten ist hier noch eine evtl. brauchbare Methode. Die Referenznamen können nicht 1:1 verwendet werden.

clean(String aUid)
{
  String r = aUid;
  if(r.indexOf("@") > -1)
  {
    pos = r.indexOf("@");
    r = r.substring(0,pos);
  }
  return r.toLowerCase();
}

Wir hatten die Anforderung zwar für den Struckturberach aber "parent" sollte der Ordner sein.

Beste Grüße aus Ulm

0 Kudos

Hallo zusammen,

ist die Skriptaktion innerhalb eines Auftrages in dem auch eine Generierung durchgeführt wird?

Gruß,

Daniel

0 Kudos

Hallo Herr Witt,

ich für meinen Teil benutze das Skript nicht innerhalb der Generierung. Das Skript soll mir den Pfad der später freigegebene und genereirte Seiten geben. Der Pfad kann dann u.a. dazu verwendet werden um Dokumentationen oder Konfigurationen vorzubereiten.

Gruß

markus

0 Kudos
aVogt
Returning Creator

Hallo,

Skriptaktion innerhalb eines Auftrages ja, Generierung nein.

Ich gehe in eine Datentabelle, für jedes Datensatz hole ich mir das verlinkte Medium und lese daraus Links aus (die innerhalb des Projektes auf Seiten und andere Medien verlinken sollen). Passen die Links nicht, will ich den Generierungslink auf das Medium in einem Log auslesen und dann dem Redakteur zuschicken.

Das Log habe ich mir schon zusammengebaut, auch das Mailverschicken klappt, nur fehlt mir noch der Link auf das Medium.

Grüße

Andreas

0 Kudos
kubczak
Crownpeak employee

Hallo,

eine Möglichkeit wäre es, eine Vorlage zu erstellen, welche den GenerationContext (oder auch nur den UrlCreatorProvider) in den SchedulerContext schreibt:

$CMS_SET(void,#global.scheduleContext.setProperty("generationContext",#global.generationContext))$

$CMS_SET(void,#global.scheduleContext.setProperty("urlCreatorProvider",#global.generationContext.urlCreatorProvider))$

Damit dies geschieht muss vorher im Auftrag allerdings eine Generierung durchgeführt werden.

Anschließend kann man über das Auslesen der entsprechenden Property im ScheduleContext auf den UrlCreatorProvider zum Erzeugen der URL oder des Dateipfades zugreifen.

Gruß,

Christian

0 Kudos
aVogt
Returning Creator

Hallo,

das "kollidiert" leider mitjavascript:;.

Genau in diesem Script benötige ich den Link auf das Medium. Wenn ich eine vor dem Script ausführe (im Auftrag) kommt es zu einem Scriptfehler, den ich nicht wegbekomme.

0 Kudos