Questa è una serie di multiplo-articolo di tutorial su come sviluppare un componente Model-View-Controller per Joomla versione 3.1.
Iniziare con l' Introduzionee navigare negli articoli di questa serie utilizzando la casella di navigazione a destra (gli articoli di questa serie).
Requisiti
Hai bisogno di Joomla 3.0 (con PHP, MySQL, Apache e Microsoft II) o maggiore per questo tutorial.
Ho raccolto un sacco di informazioni e poi ho iniziato a migrare il componente del nuovo Joomla 2.5 a 3.0. Ecco alcune informazioni importanti, utilizzati per la migrazione:
Utilizzare "display_errors su" per aiutare nel debug di errori.
Migrazione Joomla 2.5 a Joomla 3.0:
Ricordate che è necessario aggiungere Legacy qualsiasi posto si estende direttamente JModel, JView o JController. Se è indiretto (come attraverso JModellist) non è necessario, esso ha già preso cura di. Diverso da questo e il fatto che, come annunciato tempo fa deprecato codice è stato rimosso (direi che JParameter è il più grande impatto) estensioni dovrebbero solo bisogno piccole modifiche... anche se si desidera guardare i cambiamenti di uscita che Kyle sta lavorando su. Naturalmente se vi sono applicazioni stand-alone piattaforma nuovo MVC e JApplicationWeb/JApplicationCLI sono completamente il modo si dovrebbe lavorare e la cosa bella di quello che abbiamo fatto questo è che i nuovi pacchetti sono già lì sul vostro server avendo arrivato con il CMS. (Elin nella lista di sviluppo)
Campioni:
DS
Dal momento che noi abbiamo rimosso la costante DS 3.0, abbiamo bisogno di sostituire gli usi della costante nel com_media. Il cambiamento più discreto è semplicemente sostituirlo con costante di DIRECTORY_SEPARATOR di PHP, poiché DS è un alias a quello.
(joomlacode)
if(!definito('DS')){ define('DS',DIRECTORY_SEPARATOR); } //$controller = JController::getInstance('HelloWorld'); $controller= JControllerLegacy:getInstance('HelloWorld'); //class HelloWorldViewHelloWorlds si estende JView classesi estende JViewLegacy classeestende JControllerLegacy classeestende JModelItemLegacy classeestende JModelFormLegacy JRegistry:getValue() ora è JRegistry:get() //Convert campione di JRegistry con LoadJSON - campione da sourcecode Joomla 3.0 // $params = new JRegistry; // $params -> loadJSON ($ this -> articoli -> params); // $this -> menu -> params = $params; $params=nuovo JRegistry; $params->loadString($item->params); $item->params=$params;
Qui il codice sorgente: https://joomlacode.org/gf/project/hellojoomla3/frs/
Nuovo MVC in Joomla 3.0
"Versione 12.1 della piattaforma ha introdotto un nuovo formato per paradigma model-view-controller. Principalmente, le classi JModel, JView e JController sono ora le interfacce e le classi base astratte sono ora JModelBase, JViewBase e JControllerBase rispettivamente. Nei supplementari, tutte le classi sono state semplificate rimuovendo un sacco di accoppiamento con il CMS Joomla che è inutile per standalone applicazioni piattaforma Joomla."... [Piattaforma Joomla Manuale MVC - https://developer.joomla.org/manual/chap-Joomla_Platform_Manual-MVC.html]










