08.03.2013 Aufrufe

Tagebuch einer Extension-Entwicklung - Contao Wiki

Tagebuch einer Extension-Entwicklung - Contao Wiki

Tagebuch einer Extension-Entwicklung - Contao Wiki

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!