65 lines
1.8 KiB
PHP
65 lines
1.8 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace {
|
||
|
|
||
|
use SilverStripe\CMS\Model\SiteTree;
|
||
|
use SilverStripe\Forms\NumericField; // Beispiel von Feld-Typen
|
||
|
use SilverStripe\Forms\CheckboxField; // dito
|
||
|
use SilverStripe\Forms\TextField; // dito
|
||
|
use SilverStripe\Forms\HTMLEditor\HTMLEditorField; // dito
|
||
|
use SilverStripe\Forms\GridField\GridField;
|
||
|
use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
// Eigener SeitenTyp fürs CMS - im Theme dann einfach mit dem gelcihen Namen ein Template dafür erstellen in Layout/AdventPage.ss
|
||
|
class FactsPage extends Page
|
||
|
{
|
||
|
|
||
|
// Datenbankfelder
|
||
|
private static $db = [
|
||
|
];
|
||
|
|
||
|
private static $defaults = [
|
||
|
];
|
||
|
|
||
|
private static $has_one = [];
|
||
|
|
||
|
// Besitzt viele FactCard Datenobjekte
|
||
|
private static $has_many = [
|
||
|
'Facts' => 'FactCard'
|
||
|
];
|
||
|
|
||
|
// Edit-Felder im Backend
|
||
|
public function getCMSFields() {
|
||
|
$fields = parent::getCMSFields(); // Alle Felder des Mutter-Pagetyps inkludieren (extends Page)
|
||
|
|
||
|
// Spezielles GridField / Tabelle (Mit Root.Main wrde die Tabelle beim normalen Content erscheinen und nicht in eigenenm Tab)
|
||
|
$fields->addFieldToTab('Root.Faktencheck', GridField::create(
|
||
|
'Facts',
|
||
|
'Faktencheck Karten',
|
||
|
$this->Facts(),
|
||
|
GridFieldConfig_RecordEditor::create()
|
||
|
));
|
||
|
|
||
|
return $fields;
|
||
|
}
|
||
|
|
||
|
// Same as above, um Edit-Felder in den Settings Tab zu kriegen
|
||
|
// Kein extra Feld hinzugefügt und nur als Beispiel hier
|
||
|
function getSettingsFields() {
|
||
|
$fields = parent::getSettingsFields();
|
||
|
return $fields;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
class FactsPageController extends PageController {
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|