Sie können eigene Seitentypen für die Verwendung in einem Multimedia Mandanten erstellen. Grundsätzlich folgen diese den selben Regeln wie Seitentypen in einem Inhaltsmandanten. Es gibt aber entscheidende Unterschiede.
Toolbar Buttons
Eine Multimedia Kategorie, sowie Dateien und Bilder, haben neben den üblichen Toolbar Buttons auch Buttons zum Hochladen, Ersetzen (ab Version 16) und Herunterladen. In Auswahldialogen kommt zudem noch ein Einfügen Button hinzu. Damit Sie diese Buttons auch für Ihre eigenen Seitentypen erhalten, können Sie die PHP Klasse Multimedia_Toolbar einbinden. Diese bietet statische Methoden, um diese Toolbar Buttons unkompliziert einzubinden.
Dabei gilt es zu entscheiden, ob Sie die Toolbar Buttons einer Multimedia Kategorie, Datei oder Bild einbinden möchten:
require_once('media/Multimedia_Toolbar.php');
Multimedia_Toolbar::category(); // Toolbar Buttons für eine Multimedia Kategorie
Multimedia_Toolbar::file(); // Toolbar Buttons für eine Multimedia Datei
Multimedia_Toolbar::image(); // Toolbar Buttons für ein Multimedia Bild
Die Methode Multimedia_Toolbar::category() kann zwei optionale Parameter erhalten:
- $type: Gibt den Seitentyp an, der einer neuen Unterkategorie automatisch zugewiesen wird (Standard: multimedia/category).
- $children_order: Gibt die Sortierung an, der einer neuen Unterkategorie automatisch zugewiesen wird (Standard: type).
Wenn Sie diesen Button nicht angezeigt haben wollen, übergeben Sie den ersten Parameter mit dem Wert false.
Ausgabe der Datei/Bild
Grundsätzlich wird davon abgeraten, die Ausgabe für Dateien oder Bilder selbst zu gestalten.
Falls Sie dennoch die Ausgabe selbst steuern möchten, empfiehlt sich der Einsatz der Ego_Output Klasse.
require_once('base/Ego_Output.php');
$output = new Ego_Output($source);
Der erste Parameter $source für die Quelldatei kann drei Typen beinhalten:
- Page Objekt: Die Quelldatei wird dem Page Objekt entnommen. Sofern die Datei des Page Objekts wie bei den Standard Multmedia Seitentypen gespeichert wird, wird die Quelldatei auch gefunden (var/media/<Mandant>/<Sprache>/<ID>).
- String: Der absolute Pfad zur Quelldatei.
- String: Der gesamte Inhalt der Datei. Für diese Schreibweise müssen Sie string: voranstellen und direkt nach dem Doppelpunkt den Inhalt übergeben.
Sie haben nun mehrere Möglichkeiten die Datei auszugeben:
$output->read(); // Die Datei wird direkt an den Browser ausgegeben
$output->download(); // Die Datei wird als Download im Browser ausgeben
$output->pdf(); // Die Datei wird als PDF Dokument an den Browser ausgegeben
Die Methode pdf() hat vier optionale Parameter:
- $name: Der Dateiname des generierten PDF Dokuments (Standard: keiner).
- $temporary: Die Quelldatei wird nach der Ausgabe sofort gelöscht (Standard: true).
- $cookie: Bei der Generierung des PDF Dokuments wird die aktuelle Anmeldung und somit Berechtigung weitergereicht (Standard: true).
- $return: Gibt die Art der Ausgabe an (ab Version 16). Der Standardwert ist 1.
1: Generiertes PDF Dokument als Download im Browser ausgeben.
2: Generiertes PDF Dokument direkt im Browser ausgeben.
3: Absoluten Pfad zum generierten PDF Dokument zurückliefern.