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 2: <strong>Extension</strong>-Creator<br />
Also, los geht es mit dem Skelett für die geplante <strong>Extension</strong>. Ich verwende den <strong>Extension</strong>-Creator aus dem<br />
<strong>Extension</strong>-Repository.<br />
● Titel: Es geht um Turnierpaar-"Verwaltung", und um Namenskonflikte zu vermeiden möchte ich gerne<br />
einen spezifischen Präfix nutzen: gw angelehnt an den Vereinsnamen "Grün-Weiß". Also: Titel =<br />
gw_turnierpaare. An dieser Stelle bin ich mir noch nicht so sicher, wo dieser "Titel" überall erscheinen<br />
wird, und ob es deshalb ein beliebiger Text sein soll, oder eher ein "identifier", also z.b. ohne<br />
Leerzeichen u.ä. Sicherheitshalber gehe ich den Identifier-Weg. Besser hässlich als nicht-funktionierend.<br />
● Ordnername: Ebenfalls gw_turnierpaare.<br />
● Autor, Copyright und Lizenz: Selbsterklärend<br />
● Paket: Ein Paketname ist gefragt. Der Hilfetext unter dem Eingabefeld schlägt hilfreich "z.B.<br />
meinEigenesModul" vor. Ist das Modul jetzt das Paket? Was ist ein Paket? Sowas wie ein Namensraum?<br />
Da ich noch nicht weiß, ob ich für die Vereinsseite noch andere <strong>Extension</strong>s pogrammieren werde,<br />
nehme ich die Vereinsabkürzung als "Paketname", also "GW". Weitere vereinsspezifische <strong>Extension</strong>s<br />
würde ich dann in dasselbe Paket stecken.<br />
● Ein Backend-Modul hinzufügen: Ja klar, schließlich sollen Daten im Backend bearbeitet werden. Also<br />
dort ein Häkchen.<br />
● Backend-Klassen: Wenig hilfreicher Erklärungstext: "Hier können Sie eine kommagetrennte Liste der zu<br />
erstellenden Backend-Klassen eingeben." - Was sind Backend-Klassen? Wofür brauche ich die?<br />
Eigentlich müsste doch alles, was ich im Backend vorhabe, durch Einträge im DCA-File realisierbar sein,<br />
schließlich geht es nur um Pflege von zwei abhängigen Datenbanktabellen. Also mal mutig leer<br />
gelassen, falls das falsch ist kann man es später noch hinzufügen.<br />
● Backend-Tabellen: Das sind wohl meine Datentabellen, ich will eine für Turnierpaare, eine für<br />
Meldungen, also: "tl_gw_turnierpaare,tl_gw_meldungen".<br />
● Backend-Templates: Auch hier wieder wenig erhellender Hilfetext. Auch das TL-Buch beschränkt sich da<br />
leider fast auf das Abschreiben der Hilfetexte unter den Eingabefeldern. Ich kenne Templates nur für<br />
das Frontend, also beschließe ich mutig, dass ich das wohl nicht brauche. Sollte sich das später als<br />
Irrtum herausstellen, wird es sich hoffentlich noch korrigieren lassen.<br />
● Ein Frontend-Modul hinzufügen: Aber klar, die Daten sollen schließlich im Frontend visualisiert werden.<br />
Also Haken dran.<br />
● Frontend-Klassen: So weit wie ich es bisher verstanden habe, braucht jedes Modul eine eigene Klasse.<br />
Nach m<strong>einer</strong> bisherigen Planung brauche ich ein Modul "Turnierpaarliste" inklusive Detail-Ansicht der<br />
einzelnen Paar-Einträge. Die Unterscheidung aktiv/nicht aktiv würde ich gerne über einen Parameter im<br />
Modul lösen, so dass dasselbe Modul die Liste der aktiven und der ehemaligen Paare anzeigen kann.<br />
Außerdem benötige ich ein Modul "Meldeliste" mit der chronologisch sortierten Übersicht der<br />
Meldungen. Also: "gwTurnierpaarliste,gwMeldeliste" als Klassennnamen.<br />
● Frontend-Tabellen: Ratlosigkeit. Was unterscheidet Frontend-Tabellen von Backend-Tabellen? Da ich<br />
meine Tabellen schon in den Backend-Tabellen abgehandelt habe, lasse ich das Feld leer.<br />
● Frontend-Templates: Natürlich! "gw_turnierpaarliste,gw_turnierpaarliste_detail,gw _meldeliste" fallen<br />
mir sofort ein, vielleicht genügt das schon. Falls nicht, kann ich später noch welche hinzufügen.<br />
● Sprachpakete erstellen: Natürlich. Auch wenn es wahrscheinlich niemand in Englisch benutzen wird, tut<br />
es mir aber auch nicht weh, also Sprachen = "en,de".<br />
<strong>Tagebuch</strong> <strong>einer</strong> <strong>Extension</strong>-<strong>Entwicklung</strong> bis 104.odt Seite 10 von 121