Tagebuch einer Extension-Entwicklung - Contao Wiki
Tagebuch einer Extension-Entwicklung - Contao Wiki
Tagebuch einer Extension-Entwicklung - Contao Wiki
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Schritt 3: Backend-Modul registrieren und SQL-Tabellenstruktur anlegen<br />
Jetzt geht es also an die Files, die uns der <strong>Extension</strong>-Generator im letzten Schritt erzeugt hat. Ich vewende<br />
WinSCP unter Windows 7 und PSPad als Editor.<br />
Zunächst will ich mein Backend-Modul in TYPOlight bekannt machen. Dafür öffne ich<br />
/system/modules/gw_turnierpaare/config/config.php .<br />
Im Skelett dieser Datei sind schon Abschnitte für die Eintragung von Backend-Modulen, Front-Modulen, Content<br />
Elementen, Hooks und noch viel mehr vorgesehen. Ich orientiere mich am cd-collection-Tutorial<br />
(http://dev.typolight.org/projects/ty...rials<strong>Extension</strong>) und trage im Abschnitt für Backend-Module folgendes ein:<br />
PHP-Code:<br />
$GLOBALS['BE_MOD']['content']['gw_turnierpaare'] = array<br />
(<br />
'tables' => array('tl_gw_turnierpaare','tl_gw_meldungen'),<br />
'icon' => 'system/modules/gw_turnierpaare/icons/turnierpaare.png'<br />
);<br />
Hiermit registriere ich ein Modul mit dem Bezeichner "gw_turnierpaare", das sich auf die Datenbanktabellen<br />
"tl_gw_turnierpaare" und "tl_gw_meldungen" stützt (wie im <strong>Extension</strong>-Generator angegeben). In der Liste der<br />
Backend-Module (linke Spalte im Backend) soll ein Icon vor dem Bezeichner angezeigt werden, dessen Pfad ich<br />
unter 'icon' angegeben habe. Das Icon, was ich mir ausgesucht habe, ist an diesen Post angehängt. Ich habe<br />
mich für ein eigenes Unterverzeichnis für mögliche weitere Icons entschieden, und deshalb manuell das<br />
Unterverzeichnis "icons" angelegt und mein Icon dort hochgeladen. Im Backend-Modul soll der Berechtigte (also<br />
der Sportwart) die Daten Anlegen/Löschen/Ändern dürfen.<br />
Ich speichere die Datei zunächst, und lade meine Backend-Ansicht (als Administrator!) neu. Nun sehe ich in der<br />
linken Spalte unter "Inhalte" den neuen Eintrag "gw_turnierpaare" mit meinem Icon. Ein Klick darauf führt<br />
leider noch zu <strong>einer</strong> Fehlermeldung, da die SQL-Tabellen tl_gw_turnierpaare und tl_gw_meldungen noch nicht<br />
angelegt sind.<br />
Also, die Tabellen anlegen: Ich öffne /system/modules/gw_turnierpaare/config/database.sql , in der mir der<br />
<strong>Extension</strong>-Generator schon ein Skelett für meine beiden Tabellen vorgegeben hat. In beiden Tabellen sind id,<br />
pid, sorting und tstamp vorgegeben, sowie der primary key id und der key pid. Ich vermute, dass pid die<br />
"Parent ID" ist. Meine Turnierpaare haben keinen parent, darum lösche ich die Definition von "pid" und die<br />
Festlegung von "pid" als Key.<br />
Ich füge meine restlichen Felder hinzu, ohne so recht zu wissen, mit welcher Syntax genau. Ich habe mal was<br />
von SQL92-Syntax gelesen, aber die kenne ich nicht. Gibt es BOOLEAN-Datentypen? Char vs. Varchar?<br />
Sicherheitshalber halte ich mich erstmal an die MySQL-Syntax. Im Endeffekt sieht der Abschnitt für<br />
tl_gw_turnierpaare in database.sql so aus:<br />
Code:<br />
<strong>Tagebuch</strong> <strong>einer</strong> <strong>Extension</strong>-<strong>Entwicklung</strong> bis 104.odt Seite 12 von 121