Принципът на работа MVC Joomla компонент

В тази статия ще обсъдим компонент MVC операция последователност в
Joomla 1.6 и по-високи.
Тъй като много често начинаещите не могат да разберат какво се случва и как работи ще се опитам да опиша всичко в подробности! Разбираемо е, че тези, които четат тази статия знае ООП

Така че ние имаме база компонент, наречен com_blog в папката с този компонент трябва да се основава върху файла blog.php това е нашата точка на влизане! С този файл компонент на нашата работа започва.

Съдържанието на този файл е приблизително:

Какво става? ? След като нарече компонент опция = com_blog стигнем до точката на влизане в blog.php В приложението, в което:
jimport ( "joomla.application.component.controller '); - в този ред, ние включваме контролер клас, който е в папка / библиотеки / Joomla / приложение / компонент /

$ Controller = JController :: getInstance ( "блог"); - в този ред създава инстанция на контролера по подразбиране. Този контролер е в същата папка като файл и blog.php controller.php името на файла на

След това, за контрол е преминал в нашия контролер, който се състои от около този код:

String родител :: дисплей ($ cachable); получава текущия изглед и контрол се предава на нашето виждане, че vyzyvaetsya дисплей () метод на кода, който трябва да бъде приблизително по следния начин:

$ Това-> т = $ това-> Първи ( "Елементи"); - е приблизително в този ред, ние наричаме метода в category.php модел модел getItems трябва да бъде в моделите на модели на папки и файлове:

След получаване на данни от модела се извършва под формата се провеждане на родителя метод :: дисплей ($ TPL); който свързва default.php шаблон файл, който е в папката TMPL нашия вид.
Схематично, тя работи по следния начин:

Принципът на работа MVC Joomla компонент

Какво ще стане, ако ние наричаме с предава компонент на задачата
?опция = com_blogtask = mytask. в този случай, BlogController на контролера подразбиране намира в controller.php файл ще изглежда mytask метод

Ако този метод mytask в нашия контролер тогава стартира стандартния метод: родител :: дисплея ($ cachable);

Ако има метод, който ще се нарича, а той си е свършил работата!

Ако искаме да се обадя тип контролер и да изпълни задачата, която се създава в него ние трябва да напишете това:
?опция = com_blogtask = category.mytask тогава ние ще се нарича контролер във файл category.php която трябва да бъде в папка controlllers. Ако не се установи, че проблемът тогава метод родител :: дисплея се изпълнява ($ cachable); по подразбиране!