Lupe Suche
Responsiv Devices

2 - Model und Controller für VideoJSPage.php

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