Die bereitgestellte Datei: VideoJSPage.php kannst du jetzt mit den nötigen Inhalten füllen.
1. Öffne die Datei: VideoJSPage.php
2. Erstelle die Klasse (Model und Controller)
<?php
class VideoJSPage extends Page {
}
class VideoJSPage_Controller extends Page_Controller {
}
3. Die Angaben für die Datenbank ...
<?php
class VideoJSPage extends Page {
static $db = array(
'VideoOrdner' => 'Varchar(100)',
'VideodateiMP4' => 'Varchar(100)',
'VideodateiOGG' => 'Varchar(100)',
'Vorschaubild' => 'Varchar(100)',
'Videobreite' => 'Varchar(10)',
'Videohoehe' => 'Varchar(10)'
);
}
class VideoJSPage_Controller extends Page_Controller { }
4. Die Anzeige der Page-Typ-Ikone im Backend ...
...
private static $icon = "videojs/images/video.png";
...
5. Die Anzeige der Texeingafelder im Backend ...
<?php
class VideoJSPage extends Page {
...
function getCMSFields()
{
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Video',new TextField('VideoOrdner','Projektordner: assets/videos/ - Ordnerbezeichnung'));
$fields->addFieldToTab('Root.Video',new TextField('VideodateiMP4','Video - Ordner: assets/videos/ - Dateiname: *.mp4'));
$fields->addFieldToTab('Root.Video',new TextField('VideodateiOGG','Video - Ordner: assets/videos/ - Dateiname: *.ogv'));
$fields->addFieldToTab('Root.Video',new TextField('Vorschaubild','Startbild - Ordner: assets/videos/ - Dateiname: *.jpg'));
$fields->addFieldToTab('Root.Video',new NumericField('Videobreite','Videobreite: Ganzzahl (ohne px)'));
$fields->addFieldToTab('Root.Video',new NumericField('Videohoehe','Videohöhe: Ganzzahl (ohne px)'));
return $fields;
}
...
Die Felder zur Bewirtschaftung im Backend sind fertig gebaut. Für eine spätere Anzeige, musst du die CSS-Datei mit dem Controller laden.
(Andernfalls müsstest du die CSS-Angaben in dein Template einbauen. Dies wäre weniger elegant, da bei der Installation des Moduls, zusätzliche Schritte zur Anpassung des Templates notwendig wären.)
Die Methode: public function init(), wird ausgeführt, wenn die Datei / Klasse geladen wird.
6. Das Laden der CSS-Datei aus dem Modul-Ordner
...
class VideoJSPage_Controller extends Page_Controller {
public function init() {
Requirements::css("videojs/css/video-js.css");
parent::init();
}
}
Beachte die Pfadangabe für die CSS-Datei!
Weiter mit der Anzeige in der Template-Datei