Це кілька статті серії підручники про те, як розробити модель-вид-Contoller компонент для Joomla версії 3.1.
Починати з введенняі перейти до статті в цій серії, використовуючи вікно навігації праворуч ( статті в цій серії).
Вимоги
Ви повинні Joomla 3.0 (з PHP, MySQL, Apache і Microsoft II) або більше, для цього уроку.
Я зібрав багато інформації, а потім я почав перенесення компонент нового Joomla 2.5 до 3.0. Ось деякі важливі відомості використовуються для міграції:
Використовуйте "display_errors на", щоб допомогти в помилки налагодження.
Перенесення Joomla 2.5 для Joomla 3.0:
Пам'ятайте, що вам потрібно додати Legacy будь-якому місці ви безпосередньо розширення, JModel, JView або JController. Якщо це непрямий (наприклад, через JModellist) не потрібно, це вже подбав про. Крім і той факт, що, як було оголошено, давно застарілий код буде видалено (я б припустив, що JParameter є найбільший вплив) розширень повинні потрібно тільки незначні зміни.. хоча ви хочете, щоб подивитися на виході зміни, які Кайл працює над. Звичайно якщо ви будуєте самостійні платформних додатків новий MVC і JApplicationWeb/JApplicationCLI повністю способом, ви повинні працювати і гарна річ про те, як ми зробили це в тому, що нові пакунки, вже прямо на вашому сервері, приїхавши з CMS. (Елін списку розвитку)
Зразки:
DS
Оскільки ми видалили постійне DS в 3.0, нам необхідно замінити використовує константи в com_media. Найбільш зручна зміна є просто замінити його з постійним DIRECTORY_SEPARATOR PHP з DS є псевдонімом, що.
(joomlacode)
if(!визначено('DS')){ define('DS',DIRECTORY_SEPARATOR); } //$controller = JController::getInstance('HelloWorld'); $controller= JControllerLegacy:getInstance('HelloWorld'); //class HelloWorldViewHelloWorlds розширює JView класрозширює JViewLegacy класурозширює JControllerLegacy класурозширює JModelItemLegacy класурозширює JModelFormLegacy JRegistry:getValue() зараз є JRegistry:отримати() //Convert зразка, щоб JRegistry з LoadJSON - зразок з Joomla 3.0 исходник // $params = новий JRegistry; // $params -> loadJSON ($ ця -> елемент -> params); // $this -> елемент -> params = $params; $params=новий JRegistry; $params->loadString($item->params); $item->params=$params;
Тут вихідним кодом: https://joomlacode.org/gf/project/hellojoomla3/frs/
Нові MVC в Joomla 3.0
"Версію 12,1 платформи представила новий формат для модель вид контролер парадигми. Principly, класів, JModel, JView і JController тепер інтерфейсів і базові абстрактні класи в даний час JModelBase, JViewBase і JControllerBase відповідно. У додаткових, всі класи спрощено видалення багато муфти з Joomla CMS, яке не є необхідним для автономного Joomla платформних додатків."... [Joomla платформи керівництво MVC - https://developer.joomla.org/manual/chap-Joomla_Platform_Manual-MVC.html]