Joomla Component Tool oder Gerüst?

12

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

Pfadfinder
quelle
Wenn Sie ein Joomla-Gerüst suchen, versuchen Sie es mit mmleoni.net/joomla-component-builder .

Antworten:

15

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/

David Fritsch
quelle
Komponentenhersteller sieht vielversprechend aus. Ich kann es kaum erwarten, es auszuprobieren.
Nestor Ledon
Component Creator ist wirklich gut, um in wenigen Minuten ein installierbares MVC-Komponenten-Framework zu erhalten.
Fruppel
Component Creator ist nett und bietet eine Menge von dem, was ich brauche, auch für das kostenlose Level.
Pathfinder
8

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.

Don Gilbert
quelle
das ist so ziemlich das, wonach ich suche. Es gab eine nette für Joomla 1.5, die genau das macht, wovon Sie sprechen.
Pathfinder
1
Es gibt ein DRY-Komponenten-Framework, das mit neueren Versionen von Joomla geliefert wird. Es heißt FOF (Framework on Framework). Vielleicht möchten Sie es sich ansehen: Documentation , Google Group
Fruppel,
Ich kenne FOF, möchte es aber nicht verwenden, da es ziemlich umfangreich ist und veraltete Methoden wie Singleton und Statics an vielen Orten verwendet, die mir nicht gefallen.
Don Gilbert
Hallo Don, ich habe das Gleiche getan und bin sehr glücklich. Ich empfehle auch andere Entwicklungen, um dies zu tun.
Piero Marsilio
5

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.

Chad Windnagle
quelle
Ich bin mit @chad einverstanden. Wenn Sie wirklich mit einem Framework arbeiten möchten, empfehle ich Ihnen, FOF auszuprobieren. Es ist weitaus besser als andere Frameworks.
Ramesh Elamathi
4

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.

BIP
quelle
3

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.

RRYontz
quelle
1
  1. Wir haben RB Framework zusätzlich zu Joomla entwickelt. Wir verwenden es für unsere Komponentenentwicklung (PayPlans, PayInvoice usw.) ( https://github.com/readybytes/rbframework )

  2. 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:

  1. Dokumentation ist nicht verfügbar. Sie müssen durch vorhandene Komponenten lernen.
  2. Es ist so leistungsfähig, dass unsere Website eine maßgeschneiderte Komponente für das Bloggen und die Dokumentation enthält (entwickelt an einem Tag).
Shyam
quelle
In der Readme-Datei wäre es großartig, wenn Sie nur einige Hinweise zur Verwendung geben könnten. Im Moment würde ich nicht wissen, wo ich anfangen soll.
Valentin Despa