th_biedermann
Occasional Collector

CSS mit parse

Jump to solution

Hallo zusammen

Ich habe CSS Dateien die nicht generiert werden, weill sie gepasrst werden müssen.

Jetzt hat mir der Helpdesk einen tipp gegeben. Der Tipp basiert auf:

<CMS_INPUT_FILE name="st_file">
<LANGINFOS>
<LANGINFO lang="*" label="Datei aus Start-Ordner"/>
</LANGINFOS>
</CMS_INPUT_FILE>

$CMS_SET(mediaClass,class("de.espirit.firstspirit.access.store.mediastore.Media"))$

$CMS_FOR(files,st_file.medium.parent.children(mediaClass,true))$
$CMS_REF(files)$<br>
$CMS_END_FOR$

Dies generiert aber Fehler:

Jetzt muss ich das über die FS_REFERENCE gehen.

<FS_REFERENCE name="fsr_file" hFill="yes" sections="no" useLanguages="no">
<LANGINFOS>
<LANGINFO lang="*" label="Datei aus Start-Ordner" description="URL"/>
</LANGINFOS>
<PROJECTS>
<LOCAL name=".">
<SOURCES>
<FOLDER name="root" store="mediastore"/>
</SOURCES>
</LOCAL>
</PROJECTS>
</FS_REFERENCE>

Wie muss ich den Ausgabekanal erstellen damit ich das selbe ergebnis wie hier erziele.

$CMS_SET(mediaClass,class("de.espirit.firstspirit.access.store.mediastore.Media"))$

$CMS_FOR(files,st_file.medium.parent.children(mediaClass,true))$
$CMS_REF(files)$<br>
$CMS_END_FOR$

DANKE für eure Hilfe

Thoms

0 Kudos
2 Solutions

Accepted Solutions
hoebbel
Crownpeak employee

Hallo Thomas,

ich würde mit der FS_REFERENCE nicht mehr den (unverständlichen) Umweg darüber gehen, dass ein Medium ausgewählt wird und dann alles verlinkt wird, was in dem entsprechenden Ordner liegt, sondern direkt den Ordner auswählen lassen.

Das sieht dann beispielsweise so aus:

 <FS_REFERENCE name="fsr_file" hFill="yes" sections="no" useLanguages="no">
<FILTER>
<ALLOW type="mediafolder"/>
</FILTER>
<LANGINFOS>
<LANGINFO lang="*" label="Datei aus Start-Ordner" description="URL"/>
</LANGINFOS>
<PROJECTS>
<LOCAL name=".">
<SOURCES>
<FOLDER name="root" store="mediastore"/>
</SOURCES>
</LOCAL>
</PROJECTS>
</FS_REFERENCE>

$CMS_SET(mediaClass,class("de.espirit.firstspirit.access.store.mediastore.Media"))$
$CMS_FOR(for_files,fsr_file.get().children(mediaClass,true))$
$CMS_REF(for_files)$<br>
$CMS_END_FOR$

Wenn statt dessen weiterhin das Medium verlinkt werden soll, dann den Filter in der Eingabekomponente (der nur Ordner aus dem media-Store zulässt entweder entfernen oder den Filter für MEDIA (alle Medien) bzw. FILE (nur Dateien) setzen. Bei der Ausgabe muss dann in dem $CMS_FOR (...)$ der zweite Parameter so lauten (das "parent" holt sich das Vaterelement, also den Ordner):

fsr_file.get().parent.children(mediaClass,true)

Viele Grüße,
Holger

View solution in original post

0 Kudos

Hallo Holger

Vielen DANK für die schnelle Antwort und der Lösung.

Konnte alles umsetzen 🙂

Grüsse

Thomas

View solution in original post

0 Kudos
2 Replies
hoebbel
Crownpeak employee

Hallo Thomas,

ich würde mit der FS_REFERENCE nicht mehr den (unverständlichen) Umweg darüber gehen, dass ein Medium ausgewählt wird und dann alles verlinkt wird, was in dem entsprechenden Ordner liegt, sondern direkt den Ordner auswählen lassen.

Das sieht dann beispielsweise so aus:

 <FS_REFERENCE name="fsr_file" hFill="yes" sections="no" useLanguages="no">
<FILTER>
<ALLOW type="mediafolder"/>
</FILTER>
<LANGINFOS>
<LANGINFO lang="*" label="Datei aus Start-Ordner" description="URL"/>
</LANGINFOS>
<PROJECTS>
<LOCAL name=".">
<SOURCES>
<FOLDER name="root" store="mediastore"/>
</SOURCES>
</LOCAL>
</PROJECTS>
</FS_REFERENCE>

$CMS_SET(mediaClass,class("de.espirit.firstspirit.access.store.mediastore.Media"))$
$CMS_FOR(for_files,fsr_file.get().children(mediaClass,true))$
$CMS_REF(for_files)$<br>
$CMS_END_FOR$

Wenn statt dessen weiterhin das Medium verlinkt werden soll, dann den Filter in der Eingabekomponente (der nur Ordner aus dem media-Store zulässt entweder entfernen oder den Filter für MEDIA (alle Medien) bzw. FILE (nur Dateien) setzen. Bei der Ausgabe muss dann in dem $CMS_FOR (...)$ der zweite Parameter so lauten (das "parent" holt sich das Vaterelement, also den Ordner):

fsr_file.get().parent.children(mediaClass,true)

Viele Grüße,
Holger

0 Kudos

Hallo Holger

Vielen DANK für die schnelle Antwort und der Lösung.

Konnte alles umsetzen 🙂

Grüsse

Thomas

0 Kudos