Entwicklung einer MVC Komponente/Einführung
From Joomla! Documentation
< J3.x:Developing an MVC Component
Artikel in dieser Serie
Hinzufügen eines Menütyps zum Seitenbereich
Hinzufügen eines Models zum Seitenbereich
Hinzufügen einer variablen Anfrage zum Menütyp
Benutzung der Datenbank
Backend-Grundlagen
Hinzufügen von Sprachen
Hinzufügen von Aktionen im Backend
Hinzufügen von Dekorationen zum Backend
Hinzufügen von Validierungen
Hinzufügen von Kategorien
Hinzufügen einer Konfiguration
Hinzufügen eines Installations-/Deinstallations-/Aktualisierungs-Skriptes
Hinzufügen eines Formulars im Frontend
Benutzung des Sprachenfilters
- Hinzufügen von Modalen
- Hinzufügen von Verknüpfungen
- Hinzufügen der Freigabe/Sperrung von Elementen
- Hinzufügen von Sortierungen
- Hinzufügen von Ebenen
- Hinzufügen von Versionen
- Hinzufügen von Schlagwörtern (Tags)
- Hinzufügen von Zugriffsebenen
- Hinzufügen von Stapelverarbeitungen
- Hinzufügen eines Cache-Speichers
- Hinzufügen eines Feeds
Hinzufügen eines Aktualisierungs-Servers
Dies ist eine Artikel-Serie mit Tutorials über die Entwicklung einer Modal-View-Controller Komponente für Joomla! Version.
Beginne mit der Einführung und navigiere durch die Artikel dieser Serie mit Hilfe des Buttons am Ende der Seite oder der Box auf der rechten Seite ("Artikel in dieser Serie").
Hinweise
- Wenn Joomla! neu für dich ist, lies bitte Absolute Grundlagen, wie eine Komponente funktioniert.
- Dieses Tutorial wurde adaptiert von Christophe Demko: Entwicklung einer MVC Komponente/2.5
- ACHTUNG: Dieses Tutorial wird Demko's Kommentare nicht wiederholen. Um sie zu sehen schaue dir bitte das ursprüngliche Tutorial für Joomla! 2.5: Entwicklung einer MVC Komponente für Joomla! 2.5 - Einführung an.
Voraussetzungen
Du benötigst Joomla! 3.0 (mit PHP, MySQL und Apache/Microsoft IIS) oder höher für dieses Tutorial. Ich sammelte eine Vielzahl von Informationen und startete dann die Komponente vom neuen Joomla! 2.5 nach 3.0 zu migrieren. Unten sind einige wichtige Informationen, die für die Migration genutzt wurden. Alle Informationen zur Migration können Upgrade-Versionen entnommen werden. Benutze "display_errors On" um Fehler leichter zu finden.
Migration von Joomla! 2.5 nach Joomla! 3.0:
Denke daran, dass du "Legacy" immer dann anhängst, wenn du JModel, JView oder JController direkt erweiterst. Wenn es indirekt ist (wie z.B. durch JModelList) brauchst du es nicht hinzuzufügen, da sich darum bereits gekümmert wurde. Ansonsten und die Tatsache, dass, wie lange angekündigt, veralteter Code entfernt wurde (ich schätze, dass das auf JParameter die größte Auswirkung hat), sollten Erweiterungen nur minimale Änderungen erfordern ... Obwohl du dir vielleicht die Änderungen an der Ausgabe, an denen Kyle arbeitet, ansehen willst. Wenn du natürlich eine alleinstehende Plattform-Applikation erstellen willst, solltest du mit dem neuen MVC und JApplicationWeb/JApplicationCLI arbeiten. Das Schöne an der Art wie wir das umgesetzt haben ist, dass die neuen Pakete bereits auf deinem Server zusammen mit dem CMS sind. (Elin in der Development Mailing-Liste)
Beispiele: DS Seit wir die DS Konstante in 3.0 entfernt haben müssen wir alle Vorkommen der Konstante in com_media ersetzen. Die unauffälligste Änderung ist sie einfach mit PHP's DIRECTORY_SEPARATOR zu ersetzen, da DS ein Alias für diese Konstante ist.
(joomlacode)
if(!defined('DS')){
define('DS',DIRECTORY_SEPARATOR);
}
//$controller = JController::getInstance('HelloWorld');
$controller = JControllerLegacy::getInstance('HelloWorld');
//class HelloWorldViewHelloWorlds extends JView
class HelloWorldViewHelloWorlds extends JViewLegacy
class HelloWorldController extends JControllerLegacy
class HelloWorldModelHelloWorld extends JModelItemLegacy
class HelloWorldModelUpdHelloWorld extends JModelFormLegacy
JRegistry::getValue() now is JRegistry::get()
//Convert sample to JRegistry with LoadJSON - Sample from Joomla! 3.0 sourcecode
// $params = new JRegistry;
// $params->loadJSON($this->item->params);
// $this->item->params = $params;
$params = new JRegistry;
$params->loadString($item->params);
$item->params = $params;
Hier ist der Quellcode: http://joomlacode.org/gf/project/hellojoomla3/frs/
Neues MVC in Joomla! 3.0
"Version 12.1 der Plattform führte ein neues Format des Model-View-Controller-Paradigmas ein. Im Prinzip sind die Klassen JModel, JView und JController nun Schnittstellen beziehungsweise die grundlegenden abstrakten Klassen sind nun JModelBase, JViewBase und JControllerBase. Zudem wurden alle Klassen vereinfacht, indem viele Verkopplungen mit dem Joomla! CMS gelöst wurden, da dies unnötig für eigenständige Joomla! Plattform-Anwendungen war." ... Joomla! Platform Manual MVC