Search the FirstSpirit Knowledge Base
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
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
Hallo Holger
Vielen DANK für die schnelle Antwort und der Lösung.
Konnte alles umsetzen 🙂
Grüsse
Thomas
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
Hallo Holger
Vielen DANK für die schnelle Antwort und der Lösung.
Konnte alles umsetzen 🙂
Grüsse
Thomas