Für den Aufbau der FooterPage.php gehen wir ähnlich vor wie für die vorher gebaute HeaderPage.php. Wir möchten hier aber Eingabefelder für die Social-Media-Links. Zudem wollen wir diese Eingabefelder direkt im Hauptteil der Seite.
Für das Speichern der Social-Media-Adressen brauchen wir die drei Spalten 'SocialFacebook', 'SocialTwitter' und 'SocialRssFeed' in der Tabelle 'FooterPage' in der Datenbank.
Die FooterPage soll mit dem Array $defaults in der Navigation und der Suche ausgeblendet werden.
Wir verwenden dazu drei normale Texteingabefelder, die wir unseren Bedürfnissen entsprechend beschriften.
Die Im Backend angezeigte Ikone 'ico-footer.png' für die FooterPage passend zur HeaderPage.
In der 'getCMSFields'-Funktion setzen wir die Position der Eingabefelder auf 'Root.Main' mit dem Parameter 'Content' platieren wir die zusätzlichen Eingabefelder zwischen Navigationsbezeichnung und Inhalt.
Untersuche jede Zeile des untenstehenden Code-Blocks, bevor du diese in deiner Datei verwendest.
1. Erstelle die Datei: mysite/code/FooterPage.php
2. Kopiere den Code-Block
Datei: mysite/code/FooterPage.php
<?php
class FooterPage extends Page {
private static $db = array(
'SocialFacebook' => 'Text',
'SocialTwitter' => 'Text',
'SocialRssFeed' => 'Text'
);
static $defaults = array (
'ShowInMenus' => false,
'ShowInSearch' => false
);
private static $icon = "themes/meintemplate/images/ico-footer.png";
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Main', new TextField('SocialFacebook', 'Link Facebook-Adresse:'), 'Content');
$fields->addFieldToTab('Root.Main', new TextField('SocialTwitter', 'Link Twitter-Adresse:'), 'Content');
$fields->addFieldToTab('Root.Main', new TextField('SocialRssFeed', 'Link RSS-Feed bestellen:'), 'Content');
return $fields;
}
}
class FooterPage_Controller extends Page_Controller {
}
3. Speichere/Publiziere die Datei
4. Aktualisiere Silverstripe mit /dev/build
5. Erstelle eine neue Seite vom Typ 'Footer'
6. Füge drei Social-Media-Links ein, schreibe einen Adressblock im Inhalts-Editor
7. Speichere und Veröffentliche die FooterPage
Der Footer wird im Seitenbaum wie jeder andere Pagtyp platziert, bewirtschaftet und veröffentlicht.
Weiter mit dem Aufruf der gespeicherten Datensätze