Robert Deutz meistens harmlos

... hier schreibe ich über Dinge, die mich freudig stimmen, über schönes, aber auch über das was mich nervt und aufregt, ich fordere hier Gerechtigkeit für alle bin aber nicht gerecht zu jedem, ich bin hemmungslos parteiisch und schwer von einer anderen Meinung zu überzeugen und oft bestimmt auch ratlos aber nicht sprachlos. Nur damit keiner sagen kann er hätte es nicht gewusst.

Joomla 1.5 erweitern

Ich hatte es schon vor Wochen versprochen, dass ich etwas über die Entwicklung von Erweiterungen für Joomla! 1.5 schreibe. Ein kleines HOWTO soll es werden, nicht zu überladen und sicher wird nicht alles haarklein erläutert.

Als Autor muss man am Anfang eines Artikels immer die Frage nach der Zielgruppe stellen. Für wen schreibe ich diesen Artikel? Sicherlich für die Entwickler von CMT (Components/Modules/Templates) aus alten Joomla! und noch älteren Mambo Zeiten, aber auch für diejenigen die neue Erweiterungen für Joomla! entwickeln möchten. Ich erläutere dabei, wie ich das mache. Das muss nicht für jeden der richtige Weg sein, aber er führt bei mir zum Ziel.

Ich werde jetzt nicht die siebenundzwanzigste „Hello World“ Komponente schreiben, sondern es soll ja am Ende etwas sinnvolles dabei raus kommen. Meiner Meinung nach fehlt es Joomla! an einer brauchbaren Kommentarerweiterung. Bei fast jeder –die ich ausprobiert habe- finde ich Punkte die mich stören. Die Entwicklung einer neuen steht schon seit langem auf meiner Liste und das Thema ist nicht so komplex das man es in einigen Blog Beiträgen nicht erläutern könnte.

So wir wissen nun was, jetzt braucht das Ding noch einen Namen. Meine Erweiterungen fangen meistens mit „com_rdbs_“ an und dann folgt ein beschreibender Name. In dem Fall ist comment sicher eine gute Wahl. Also die Erweiterung heißt com_rdbs_comment und weil es so schick ist bekommt diese den Codenamen: Statler.

Wenn man ganz gerne programmiert möchte man auch möglichst schnell los legen. Also los geht’s. Wir bauen uns zunächst man ein minimal Paket um etwas installieren zu können. Sinnvoll ist dabei die Trennung nach Back- und Frontend. Weiß man schon welche Menüpunkte man im Backend haben möchte, ist das auch ganz praktisch, wenn nicht dann eben nicht.

Unser Minimalpaket enthält die folgenden Dateien:
Joomla! 1.5 erweitern (1) Bild files_mmp

Zur Installation benötigt man eine XML-Beschreibung, diese enthält einen allgemeinen Teil mit Informationen zu der Erweiterung und Informationen welche Dateien zu installieren sind.

Schauen wir uns den Bereich für die Dateien an

<files folder="site">
  <filename>rdbs_comment.php</filename>
</files>
<languages>
  <language tag="en-GB">site/languages/en-GB.com_rdbs_comment.ini</language>
  <language tag="de-DE">site/languages/de-DE.com_rdbs_comment.ini</language>
</languages>

Joomla 1.5 bietet die Möglichkeit Erweiterungen mehrsprachig anzubieten, das Minimalpaket ist für zwei Sprachen vorbereitet: Deutsch und Englisch. Diese Dateien werden vom Joomla-Installer (hoffentlich) an die richtige Stelle kopiert, für das Frontend ist das der languages Ordner und für das Backend der administrator/languages Ordner.

Kommen wir nun zu dem Adminbereich:

<administration>
  <menu>RDBS Comment</menu>
  <submenu>
    <menu link="option=com_rdbs_comment&amp;section=about&amp;task=about">About</menu>
    <menu link="option=com_rdbs_comment&amp;section=comments&amp;task=view">View Comments</menu>
  </submenu>  
  <files folder="admin">
    <filename>admin.rdbs_comment.php</filename>
  </files>
  <languages>
    <language tag="en-GB">admin/languages/en-GB.com_rdbs_comment.ini</language>
    <language tag="de-DE">admin/languages/de-DE.com_rdbs_comment.ini</language>
  </languages>
</administration>

Zuerst das Menü, bei den beiden Einträgen „About“ und „View Comments“ bin ich mir sicher, dass ich diese benötigen werde. Dann noch eine paar Files, natürlich auch wieder die zwei Sprachdateien.

Alles einpacken und schon kann man installieren. Dabei muss man mindestens zwei Punkte beachten:
1) der Erweiterungsname wird aus dem Feld Name in der XML-Datei gebildet, dabei werden die Leerzeichen jedoch entfernt und alle Zeichen in Kleinbuchstaben umgewandelt. Nimmt man also als Name „RDBS Comment“ wird daraus „rdbscomment“, das würde aber nicht zu unseren anderen Dateien passen. Ich verwende einfach keine Leerzeichen, sondern immer einen Unterstrich, also „RDBS_Comment“.
2) Es werden nur die Sprachen installiert, die auch vorhanden sind, nimmt man also ein out off the box joomla, wird nur das englische Sprachfile installiert.

Hier gibt es das Archiv zum Dowmload

Hat man in das Archiv leere Dateien getan, dann passiert nicht viel, es kommt eine leere Seite. Hurra keine Fehlermeldung!

Nach der Installation des minmalpakets

Wenn wir eine „Hello World“ Erweiterung erstellen wollten, müssten wir jetzt nur noch ein

< ?php echo „Hello World“ ?>

in die admin.rdbs_comment.php und in die rdbs_comment.php eintragen und schon wären wir fertig. Damit man es im Frontend auch sehen kann, müsste man allerdings noch einen Menüpunkt anlegen.

Ich hatte ja gesagt, dass ich keine Hello World Erweiterung vorstellen möchte, außerdem passt der mühsam ausgedachte Name nicht dazu. Man kann daran, aber schon etwas Wichtiges erkennen. Joomla! macht nicht wirklich viel, es includiert im Backend einfach die Datei „admin.rdbs_comment.php“ und wenn man einen Menüpunkt anlegt im Frontend die Datei „rdbs_comment.php“. Wir können uns also die wildesten Sachen ausdenken, wie wir unsere Anwendung aufbauen oder es so machen wie die Programmierer sich das gedacht haben.

Es ist natürlich sehr verwegen von mir hier Mutmaßungen bzgl. der Gedankengänge der Programmierer anzustellen, aber urteilt einfach selbst, ob jemand nachgedacht hat oder doch nicht.

Was ist also der Joomla! Weg?

Bei der Programmierung wird das Architekturmuster Model-View-Controller verwendet. Die theoretische Abhandlung über Software-Entwicklung ist einen Raum weiter. Wer es also genau wissen will, was das Ganze genau bedeutet, der kann bei Wikipedia nachschauen bzw. dort mit den Nachforschungen beginnen. Ich übersetze das für mich so:

Model: Daten
View: Ansicht
Controller: Ablaufsteuerung

Wir legen jetzt ein paar Verzeichnisse unter administrator/com_rdbs_comment an. Und da ich schon weiß wie es weiter geht, auch noch ein paar Dateien. Das sollte dann so aussehen:

files_2


Ich finde, das ist ein passender Moment um die Erste Folge von „Joomla! 1.5 erweitern“ zu beenden. Ich habe für die nötige Spannung gesorgt und kann den zweiten Teil in Ruhe vorbereiten. Ich beeil mich auch.


Administrator
Geschrieben am Donnerstag, den 26. April 2007 um 16:48 Uhr von Administrator

Bis jetzt schon 5243 mal gelesen. Ist das Interessant? Twittere es deinen freunden!

Beitrag bewerten

(8 votes)

Die letzten Beiträge von
Administrator

  • Öfter mal was neues Geschrieben am Donnerstag, den 18. Juni 2009 um 20:37 Uhr

    Mit diesem Blog ist es schon etwas schwer, ich würde ja gerne mehr schreiben, aber…

  • RSS Feed Manager für 1.5 Geschrieben am Donnerstag, den 29. Mai 2008 um 08:18 Uhr

    In der letzten Zeit erreichen mich immer wieder Anfragen, ob ich den RSS Feed Manager…

  • Umgestaltung Geschrieben am Mittwoch, den 23. April 2008 um 08:16 Uhr

    Es war mal wieder längere Zeit recht ruhig hier und dieses schreibe ich auch nur…

  • Update Sitemap-Komponente für Joomla 1.5 Geschrieben am Mittwoch, den 07. November 2007 um 08:12 Uhr

    Ich habe die Komponente nun auch fit für die RC3 von Joomla gemacht. An der…

  • Sitemap für Joomla 1.5 veröffentlicht Geschrieben am Samstag, den 25. August 2007 um 08:08 Uhr

    Gesten habe ich meine auf Joomla 1.5 umgestellte Sitemap Komponente fertig gestellt. Die Komponente nutzt…

Die neuesten Tweets von


Kommentare

Bisher keine Kommentare

Neuen Kommentar hinzufügen

 
 
 
 
 
 
 

RDBS Comment entwickelt von Robert Deutz Business Solution

Ich lese gerade

Was würde Google tun?
Wie man von den Erfolgsstrategien des Internet-Giganten profitiert

Auf dieser Seite nutze ich

J! & Beyond | International Joomla! Event - May 6th to May 8th, 2011
Joomla! Community Magazine | Because community matters...