AddOn-Entwicklung #7 - Hilfsmittel & Schluss

Sich das Leben erleichtern – AddOn Helper

Wer viele AddOns erstellt, wird sich früher oder später Gedanken machen, wie er seine AddOns noch effektiver programmieren kann. Versuche, die AddOn-Entwicklung zu optimieren, führten zu Hilfs-Bibliotheken wie etwa dem “AddOn-Framework” oder dem “AddOn Helper”. Beides sind selbst AddOns, die installiert werden müssen und dann dem AddOn-Entwickler einige Arbeit abnehmen können.

Sehen wir uns den AddOn Helper etwas näher an. Dieses AddOn erweitert die bestehenden rex_list und rex_form und reduziert nicht nur den Coding-Aufwand, sondern stellt beispielsweise auch ein Datepicker-Feld bereit. Wenn man auf die Funktionen des AddOn Helpers zurück greift, dann platziert man das eigene AddOn als Plugin innerhalb des Helper AddOns – ja, richtig: Seit Redaxo 4.2 können AddOns wiederum Addons enthalten – sie heißen dann wegen der Verwechslungsgefahr “Plugins”. Verwendet man den AddOn Helper, dann benötigt man zum Auflisten der Gruppeneinträge aus dem obigen Beispiel nur noch knapp die Hälfte des Codes:

<?php
if ($func=='') {
$query = "SELECT * from '.$REX['TABLE_PREFIX'].'553_gruppen order by gruppe";
$list = new rex_a350_list($query);
$list->addIconColumn();
$list->setColumnLabel('id','ID');
$list->setColumnLabel('title','Gruppe');
$list->setColumnEditParams('gruppe');
$list->show();
}
?>

Noch interessanter wird es bei der Ausgabe. Mit einer entsprechend präparierten Klasse OOAdressen – diese ist aber relativ schnell erstellt – genügt Folgendes zur Ausgabe aller Adressen:

<?php
echo '<ul>';
foreach (OOAdressen::getAllAdressen() as $adresse) {
echo '<li>'.$adresse->getDateValue('vorname').' '.$adresse->getValue('name').'</li>';
// Weitere Felder ...
}
echo '</ul>';
?>

Nicht unerwähnt bleiben sollte außerdem, dass durch die Klasse OOList() auch die mit dem AddOn Helper gesteuerten Frontend-Ausgaben gecached werden und somit keine Datenbankabfragen nötig sind. Eine komfortable automatische Paginierung auch im Frontend und eine zumindest rudimentäre Automatik bei mehrsprachigen Websites machen die Arbeit mit dem AddOn Helper zum reinen Vergnügen.

AddOn-Template - eine leere Vorlage zum Start

Wer nicht bei Null beginnen will, sollte sich das Addon-Template näher ansehen. Dieses Addons liefert einen universellen Rohbau für schnelle Eigenentwicklungen. Es richtet sich dabei sowohl an jene, die zum ersten Mal ein eigenes Addon bauen wollen, als auch an fortgeschrittene User, die ad hoc eine Addon-Idee antesten wollen, ohne sich mit dem Kleinkram der Grundkonfiguration herumschlagen zu müssen.

AddOn in sieben Schritten

Zum Schluss ...

Wir haben nun gelernt, wie man in REDAXO vergleichsweise einfach und schnell AddOns programmieren kann. In der Praxis werden AddOns natürlich meist noch weitaus komplexer als in unserem Beispiel und regeln zum Beispiel die komplette Verwaltung und Buchung eines Ferienhaus-Anbieters oder Reiseveranstalters.

Andere AddOns implementieren einen Shop, binden Lightbox-Galerien ein, setzen eine komplette Community auf oder vereinfachen die Formularprogrammierung. Wieder andere AddOns managen das URL-Rewriting, ermöglichen einen Multi-Upload, widmen sich der Suchmaschinenoptimierung oder stellen eine Schnittstelle zu anderen Systemen wie myBB oder OSCommerce her. Der Fantasie sind keine Grenzen gesetzt.

Zurück zum Teil 6 - Seitengenerierung