Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich würde gern die CSS-Dateien eines FirstSpirit-Projektes bei der Generierung von einem CSS-Präprozessor bearbeiten lassen. Dazu scheint der de.espirit.firstspirit.generate.ContentProcessor (bzw. AbstractContentProcessor) geeignet zu sein. Leider habe ich dazu keine Beispiele gefunden. Hat jemand bereits etwas ähnliches gemacht, oder kann mir einen Hinweis dazu geben?
Nach meinem Verständnis des Interfaces würde ich ansonsten folgendermaßen vorgehen:
Würde dieses Vorgehen so auch für die Vorschau funktionieren? Wie müsste der fsm-Moduldeskriptor aussehen - reicht es, den ContentProcessor als Public-Komponente eines Moduls zu definieren?
Vielen Dank schonmal für Antworten,
Martin
Tatsächlich konnte ich genau so einen funktionierenden ContentProcessor umsetzen, leider kann ich diesen nur einem Präsentationskanal und somit einem Vorlagensatz zuweisen, für Medien funktioniert das scheinbar leider nicht.
Als Alternative habe ich nun ein Script, dass manuell ausgelöst die CSS-Dateien aus der Medienverwaltung ausliest, bearbeitet, und in einem separaten Folder in der Medienverwaltung wieder einfügen.
Dein erstes Posting hatte ich leider übersehen, sonst hätte ich dir den Umweg ersparen können. Das Interface ContentProcessor ist tatsächlich nur für (Seiten-)Inhalte.
Hallo Martin
Wir haben das Problem bei uns über zusätzliche Dateien gelöst.
Wir importieren mehrere Medien (CSS/Javascript) ins System und möchten gerne, dass FirstSpirit diese als eine Datei in komprimierter Form ausliefert.
Dazu haben wir zum Beispiel eine CSS-Datei ähnlich dieser angelegt:
$-- Inhalt über CMS_INCLUDE von anderen Medien laden und alle in eine Variable speichern --$
$CMS_TRIM(level:3)$$CMS_SET(content)$;
$CMS_INCLUDE(media:"file1")$;
$CMS_INCLUDE(media:"file2")$;
$CMS_END_SET$
$-- Eigens geschriebene Klasse aufrufen und den Inhalt als String übergeben --$
$CMS_SET(compressor, class("namespace.CSSCompressor").new(#global))$
$-- Alles mit CMS_VALUE ausgeben. (compress gibt einen String zurück) --$
$CMS_VALUE(compressor.compress(content.toString()))$$CMS_END_TRIM$