Ich habe ein paar Plugins für Joomla 3.2 erstellt und vor kurzem eine Komponente zum Verwalten von Wohnungsvermietungen entwickelt. Ich habe mich gefragt, ob es ein Framework gibt, bei dem die grundlegende Datei- / Ordnerstruktur bereits mit den Dateien erstellt wurde, die erforderlich sind, um eine Komponente schnell zum Laufen zu bringen.
Ich möchte das Rad nicht bei jedem Start neu erstellen müssen, und die Dateien und Klassen, die erforderlich sind, um eine Komponente zum Laufen zu bringen, haben eine grundlegende Struktur. Gibt es da draußen schon einen?
Wenn nicht, von welcher Joomla-Komponente aus wäre das ein gutes Beispiel?
EDIT: Nachdem ich die Antworten gesehen habe, denke ich, dass "Framework" eine schlechte Wahl der Begriffe war. Ich suche nichts, das eine eigene Codebasis hat. Ich habe nach etwas gesucht, das die Datei- / Ordnerstruktur hat, die allen Joomla-Komponenten gemeinsam ist und ausgeführt werden muss, z. B. nach dem Controller, dem Ansichtsordner, dem Modellordner usw.
Was ich suche, sollte keine Abhängigkeiten haben, die nicht bereits Teil des Joomla-Kerncodes sind.
Ich habe eine für Joomla 1.5 gefunden, die alle erforderlichen Dateien enthält. Sie mussten lediglich die Klassen und Dateien umbenennen, damit sie mit dem Namen Ihrer Komponente und Installation übereinstimmen, und Sie hatten eine grundlegende Administratoransicht, eine Front-End-Menüansicht usw Ich hoffe, dass jemand da draußen einen für mich erschaffen hat
quelle
Antworten:
Ein Tool, das ich in der Vergangenheit verwendet habe, ist Component Creator: http://www.component-creator.com/en/ .
Mit diesem Tool können Sie eine Tabelle kostenlos zusammenstellen (mehr, wenn Sie sich für ein kostenpflichtiges Paket anmelden) sowie andere allgemeine Informationen zur Komponente selbst. Anschließend können Sie eine installierbare ZIP-Datei herunterladen, um die Komponente zu starten.
Für diejenigen, die sowieso gerne in den Code springen, kann dies eine sehr einfache Methode sein, um die Komponentenentwicklung zu beschleunigen.
Es gibt auch einige Erweiterungen, die Sie in Joomla installieren können, um Sie bei der Entwicklung anderer Joomla-Komponenten zu unterstützen. Ein Beispiel für diesen Hilfsstil ist die kostenlose Erweiterung Easy Creator: http://extensions.joomla.org/extensions/miscellaneous/development/5908
Dies kann ein großartiges Add-On für eine Testumgebung sein, die mit einem Build-Tool in einem schönen Paket gemischt ist.
Es gibt ein weiteres Tool namens Joomla Component Generator für die einfache und schnelle Komponentengenerierung. Damit können Sie kostenlos eine unbegrenzte Anzahl von Tabellen erstellen. Es gibt kostenpflichtige Pakete, der Kauf ist jedoch nur erforderlich, wenn Sie mehrere Ansichten benötigen. Es wird auch eine installierbare Zip-Datei zum Herunterladen erstellt. Ein Test zeigt die Vorteile dieses Generators. Schauen Sie sich den generierten Code und die Einrückung an.
http://www.componentgenerator.com/
quelle
Nachdem ich zahlreiche Erweiterungen für Kunden geschrieben hatte, folgte ich immer wieder den gleichen Mustern. Um die Dinge trocken zu halten, habe ich ein "Komponenten-Framework" erstellt, das die meisten meiner üblichen Aufgaben abstrahiert. Bisher wurde es jedoch nur intern in meinem Unternehmen verwendet. Es fehlen viele Funktionen, aber es wird die Arbeit für das erledigt, was ich brauche.
Um das zu sagen, habe ich folgendes gesagt: Entwickeln Sie auf die gleiche Weise Ihr eigenes Komponenten-Framework. Nehmen Sie die Gemeinsamkeiten des Codes, den Sie gerade produzieren, und verschieben Sie ihn in der OO-Hierarchie um eine Ebene nach oben in eine eigene Ebene zwischen Ihrer Komponente und Joomla. Mit diesem Ansatz vermeiden Sie das von Tschad erwähnte Problem "Wenn das Framework kaputt geht" und verstehen es umso besser. Bisher hat es bei mir gut funktioniert.
quelle
Ich empfehle aus mehreren Gründen kein "Framework" für diese Art von Dingen:
1) Das CMS hat ein "Framework", und wenn es notwendig wäre, das Schreiben von Erweiterungen "einfacher" zu gestalten, würden wir uns auf den Kern-Framework-Code konzentrieren, anstatt Elemente von Drittanbietern zu schreiben.
2) Wenn Sie Ihre Erweiterung auf ein nicht mehr funktionierendes Framework schreiben, sind Sie ziemlich durchgeknallt.
3) Die Verwendung des Kerns verbessert im Idealfall die Aktualisierungen. Dies war nicht IMMER der Fall, weshalb es hierfür Frameworks von Drittanbietern gibt, aber je mehr wir darauf bestehen und erwarten, dass dies der Fall ist, desto mehr wird es tatsächlich sein. Wenn wir uns nicht darauf konzentrieren, wird es nie besser.
-
Daher gibt es in Joomla ein "RAD Framework" namens FoF (Framework on Framework). Ich habe es nicht benutzt, aber es soll ein zeitsparendes Werkzeug sein. Es gibt hier eine Dokumentation dazu:
https://www.akeebabackup.com/documentation/fof/getting-started-with-fof.html
Hinweis - FoF ist in der Distribution von Joomla 3.2 enthalten, sodass Sie es nicht installieren müssen, wenn Sie eine Erweiterung für Joomla 3.2+ verwenden.
Schließlich - wenn Sie im Kern bleiben und die Kern-MVC-Klassen verwenden möchten, wird derzeit immer noch empfohlen, die alten MVC-Klassen zu verwenden (wird sich ändern, sobald die neue MVC gründlich durchgearbeitet ist). Eine gute Basiserweiterung ist die Komponente com_contact oder com_banners. Sie sind ziemlich einfach und Sie können auf diese Weise Dinge wie JForm und benutzerdefinierte Modelle aufgreifen.
quelle
Ich kann Cook Self Service nur wärmstens empfehlen . Ich glaube, es gibt eine kleine Gebühr, aber sie hat ungefähr 85% unserer Hauptbildungskomponente generiert, 1000 $ gespart, um damit anzufangen, und der Code, den sie generiert hat, war schön und sauber für unsere Modifikation.
quelle
Haben Sie sich die Joomla Hello World-Komponente angesehen ? Ich habe es noch nicht angeschaut, aber es sieht so aus, als hätte es die minimalen Dateien, die zum Erstellen einer Komponente benötigt werden. Haben Sie sich auch die To-Do FOF-Beispielkomponente angesehen, seit Joomla 3.2 Framework on Framework (FOF) enthält? Ich weiß, dass ich eine benutzerdefinierte Joomla 3.x-Komponente in meine Liste der zu erledigenden Aufgaben geschrieben habe. Dies waren die beiden Beispiele, die ich zu Beginn des Projekts verwenden wollte. Hoffentlich arbeiten sie auch für Sie.
quelle
Wir haben RB Framework zusätzlich zu Joomla entwickelt. Wir verwenden es für unsere Komponentenentwicklung (PayPlans, PayInvoice usw.) ( https://github.com/readybytes/rbframework )
Wir haben einen Component Builder dafür ( https://github.com/readybytes/component-builder )
Der oben genannte Rahmen reduziert den Stress, immer wieder dieselben Dinge zu tun.
Wichtel:
quelle