Principiul de funcționare joomla componente MVC

In acest articol voi discuta despre componenta de secvență de funcționare în MVC
Joomla 1.6 și mai mare.
Din moment ce foarte des incepatori nu pot înțelege ce se întâmplă și cum funcționează, voi încerca să descrie totul în detaliu! Se înțelege că cei care citesc acest articol cunosc PLO

Deci, avem o componentă de bază numită com_blog în dosarul cu această componentă trebuie să se bazeze pe fișierul blog.php acesta este punctul nostru de intrare! Cu această componentă fișier a activității noastre începe.

Conținutul acestui fișier este de aproximativ:

Ce se întâmplă? ? După ce am numit o opțiune componentă = com_blog vom ajunge la punctul de intrare în blog.php app în care:
jimport ( 'joomla.application.component.controller'); - în această linie, vom include o clasă de controler, care se află în folderul / biblioteci / joomla / aplicație / componentă /

$ Controler = JController :: getInstance ( 'blog'); - în această linie creează o instanță a controlerului implicit. Acest controler este în același folder ca fișier și controller.php blog.php numele de fișier

După aceea, se trece la controlerul nostru care constă despre acest cod:

părinte String :: afișare ($ cachable); devine vizualizarea curentă și se trece la punctul nostru de vedere că afișajul vyzyvaetsya () metoda de cod care ar trebui să fie de aproximativ după cum urmează:

$ This-> Element = $ this-> get ( 'Articole'); - este aproximativ în această linie, vom apela metoda în modelul category.php modelul getItems ar trebui să fie în modelele de foldere și modele de fișiere:

După primirea datelor din model se realizează în forma se efectuează părintelui metoda :: afișare ($ tpl); care face legătura între fișierul șablon default.php, care se află în folderul tmpl speciei noastre.
Schematic, funcționează astfel:

Principiul de funcționare joomla componente MVC

Ce se întâmplă dacă noi numim cu componenta transmisă sarcinii
?option = com_blogtask = mytask. în acest caz, BlogController controler implicit situat în fișierul controller.php va arata mytask metoda

Dacă această metodă mytask în controlerul nostru execută atunci metoda implicită: părinte :: display ($ cachable);

Dacă există o metodă care va fi numit, și-a făcut treaba!

Dacă vrem să numim tipul de controler și de a efectua sarcina care este creat în ea trebuie să scrie acest lucru:
?option = com_blogtask = category.mytask atunci vom fi numit controller într-un fișier category.php care ar trebui să fie în dosarul controlllers. Dacă problema nu este găsit, atunci părinte :: afișare metoda este executata ($ cachable); în mod implicit!