Utveckla en MVC Komponent/Inledning

Utveckla en MVC Komponent/Inledning

Detta är en flera-artikel serie tutorials om hur man utvecklar en Model-View-Controller komponent för Joomla Version 3.1.

Börjar med Introduktionoch navigera i artiklar i denna serie med rutan navigering till höger ( artiklar i denna serie).

Krav

Du behöver Joomla 3.0 (med PHP, MySQL, Apache och Microsoft II) eller större för den här läraren.

Jag samlat en massa information och sedan började jag att migrera del av den nya Joomla 2.5 till 3.0. Nedan är några viktiga information som används för migreringen:

Använd "display_errors på" att hjälpa i fel debug.

Migrera Joomla 2.5 till Joomla 3.0:

Kom ihåg att du behöver lägga till Legacy något ställe du direkt utvidgar JModel, JView eller JController. Om det är indirekt (som genom JModellist) behöver du inte, det har redan tagit hand om. Än det och det faktum att som tillkännagavs länge sedan inaktuella koden har tagits bort (jag skulle gissa att JParameter är den största effekten) tillägg bör behöver bara smärre förändringar... även om du kommer att vilja titta på utdata ändringarna som Kyle arbetar på. Om du skapar fristående plattform program den nya MVC och JApplicationWeb/JApplicationCLI är helt hur du ska arbeta och fina med det sätt vi har gjort detta är att är de nya paketen naturligtvis redan rätt där på servern efter att ha kommit med CMS. (Elin i utveckling lista)

Prover:

DS

Eftersom vi har tagit bort DS konstanten i 3.0, måste vi ersätta användningen av konstanten i com_media. Den mest diskreta förändringen är att helt enkelt ersätta den med PHP DIRECTORY_SEPARATOR konstant eftersom DS är ett alias som.

(joomlacode)

if(!definieras('DS')){
define('DS',DIRECTORY_SEPARATOR);
{ }
//$controller = JController::getInstance('HelloWorld');
$controller= JControllerLegacy:getInstance()'HelloWorld');
//class HelloWorldViewHelloWorlds utökar JView
klasssträcker sig JViewLegacy
klassenutökar JControllerLegacy
klassenutökar JModelItemLegacy
klassenutökar JModelFormLegacy
JRegistry:getValue() nu är JRegistry:()
//Convert provet till JRegistry med LoadJSON - prov från Joomla 3.0 källkoden
//                             $params = ny JRegistry;
//                             $params -> loadJSON ($ this -> objekt -> params);
//                             $this -> objekt -> params = $params;
                                $params=nya JRegistry;
                                $params->loadString($item->params);
                                $item->params=$params;

Här source code: https://joomlacode.org/gf/project/hellojoomla3/frs/

Nya MVC i Joomla 3.0

"Version 12.1 av plattformen introducerat ett nytt format för model-view-controller paradigm. Budgettilldelningar, klasserna JModel, JView och JController är nu gränssnitt och de abstrakta basklasser är nu JModelBase, JViewBase och JControllerBase respectively. I ytterligare, alla klasser har förenklats att ta bort en hel del koppling med Joomla CMS som är onödiga för fristående Joomla plattformen applications."... [Joomla plattformen manuell MVC - https://developer.joomla.org/manual/chap-Joomla_Platform_Manual-MVC.html]