Створюємо компонент за допомогою Joomla Component Creator
Для зручності розробки компонентів CMS "Joomla" в мережі існую сервіси, за допомогою яких за кілька кроків можна створити компонент, включаючи всю структуру папок і файлів, а також таблиць бази даних. Розробникам, що використовують ці сервіси, не доводиться створювати всю структуру компонента вручну, що сильно економить їх час. Про один з таких сервісів і піде мова в цій статті. Цей онлайн-сервіс називається "Joomla Component Creator" і доступний за адресою http://www.notwebdesign.com/joomla-component-creator/ . Реєстрація нескладна і займає не більше 5 хвилин. Є 2 варіанти акаунтів - звичайний з обмеженими можливостями сервісу і преміум, з повним доступом до всіх функцій.
Порядок роботи.
Після проходження процесу реєстрації, користувачеві стає доступна можливість створювати компоненти. На головній сторінці свого облікового запису перераховані вже створені компоненти "Joomla", а також кнопка, яка запускає процес створення нового компонента. Моя сторінка поки порожня - я не створив жодного компонента.
Процес створення компонента складається з декількох кроків. Давайте розглянемо їх по порядку.
Крок 1.
На першому етапі необхідно ввести всі дані про новий компоненті: назва, опис, вибрати іконку компонента (можна вибрати із запропонованого списку або завантажити свою), вказати версію компонента, вибрати версію системи "Joomla", під яку створюється компонент, а також заповнити поля даними про ліцензії, авторські права і про автора.
Для того щоб показати процес створення шаблону - я вирішив створити найпростіший компонент "Joomla", який просто буде виводити на екран текст "Hello, world!". Назвав його "com_hello". Дані з полів форми будуть збережені у файлі hello.xml. Після заповнення натискаємо на кнопку "Save Component" і переходимо до наступного кроку.
Крок 2.
На другому кроці користувач може створити таблиці, в яких будуть зберігатися дані компонента. При установці ці таблиці будуть додані в базу даних "Joomla". Мій майбутній компонент не використовуватиме базу даних, тому я пропущу цей крок. До речі вже зараз можна створити архів з компонентом. Для цього потрібно натиснути на кнопку "Build component", розташовану в правій частині сторінки.
Проте, я опишу поля, які потрібно заповнити на цьому кроці. Натискаємо на кнопку "Add a Table" і бачимо форму для заповнення.
Table name - ім'я таблиці в базі даних (замість решітки під час установки компонента буде підставлений префікс, який використовується в базі даних);
Storage engine - вибираємо тип створюваної таблиці (за замовчуванням значення - "Server Default"). Доступні наступні типи таблиць:
- MyISAM - одна з основних систем зберігання даних в MySql. Таблиці такого типу показують хороші результати при запитах SELECT.
- CSV - при використанні цієї системи зберігання дані зберігаються в текстових файлах, для поділу всередині одного запису використовується «;»
- MRG_MYISAM - псевдонім типу таблиць MERGE. Може об'єднувати кілька «однакових» таблиць в одну. Об'єднуватися можуть таблиці, мають поля з однаковими типами і іменами, розташовані в одному і тому ж порядку у всіх таблицях. Індекси також повинні збігатися.
- BLACKHOLE - по-російськи «чорна діра». Відображає свою назву при роботі з даними. Приймає дані, але не зберігає їх. Підтримує всі види індексів.
- InnoDB - тип таблиць з високою надійністю зберігання даних. Підтримуються транзакції і зовнішні ключі
- Archive- використовується для зберігання великих обсягів даних. Не підтримує індекси. Оператори DELETE, UPDATE, REPLACE не підтримуються.
- Memory - тип таблиць також відомий як "HEAP". Зберігає дані в пам'яті, тому він не надійний - дані пропадуть після зупинки сервера. Використовується тільки для тимчасових таблиць
Детальніше про всі системи зберігання даних ви можете почитати в керівництві по MySql .
Collation - список для вибору кодування майбутньої таблиці (значення за замовчуванням - "utf_general_ci");
Admin views - Генерація файлів для 2 видів (View) для адміністративної частини: списку елементів і форми для редагування кожного елемента;
Frontend views - Генерація файлів для 2 видів (View): списку елементів і докладного опису кожного елемента;
Individual ACL - індивідуальний контроль доступу до елементів;
Зберігаємо результати заповнення форми, натиснувши на кнопку "Create Table" - з низ формуються файли install.mysql.utf8.sql і uninstall.mysql.utf8.sql. Ці файли знаходяться в папці / administrator / sql всередині архіву з компонентом.
Зауважу, що звичайні користувачі можуть створювати тільки одну таблицю. Користувачі, що мають преміум-аккаунт, можуть створювати необмежену кількість таблиць, а також імпортувати їх з файлу, що містить SQL-запити.
Крок 4.
На цьому кроці ви зможете отримати результат ваших дій. Натискаємо на кнопку "Build component" і переходимо на сторінку з результатами. Після відкриття цієї сторінки, починається завантаження компонента "Joomla".
Переваги платного використання.
Користувачі, що мають преміум-аккаунт, мають наступні переваги: можуть створювати необмежену кількість компонентів і необмежену кількість таблиць в кожному компоненті. Також їм доступна технічна підтримка. Вартість оплати зменшується в залежності від тривалості дії преміум-аккаунта. Чим довше, - тим дешевше.
Альтернативи Joomla Component Creator.
Альтернативою інструменту "Joomla Component Creator" може служити додаток "Marco's Component Maker for Joomla! 1.5 ". Воно призначене для роботи в різних операційних системах. Однак, на момент написання статті на сайті розробника була доступна версія 1.5.2, створена ще в січні 2011 року.