- •Что в этой книге
- •Настройки против Расширений
- •Как расширить Joomla!
- •Компоненты (Components)
- •Модули (Modules)
- •Плагины (Plug-Ins)
- •Обзор тем
- •Создание пи (Toolbars) и Списков
- •Поддержание стиля и исключение повторений кода используя html функции
- •Доступ к бд и управление записями
- •Безопасность и предпочтительный способ получения переменных запроса
- •Меню управления
- •Управления логикой работы внутри Компонента
- •Конфигурация посредством xml-параметров
- •Упаковка и распространение
- •Наш Проект для примера
- •Приступая к разработке Компонента
- •Структура Компонента Joomla!
- •Запуск Компонента
- •Разделение на иа и ип в Joomla
- •Регистрация Компонента в бд
- •Создание пи
- •Доступные кнопки пи
- •Создание таблицы бд
- •Создание класса Table
- •Создание формы Обзора
- •Обработка данных
- •Создание Списка
- •Редактирование записей
- •Удаление записей
- •Разработка ип
- •Листинг Обзоров
- •Отображение Обзора
- •Генерация дружественных для поисковиков ссылок
- •Создание url сегментов
- •Парсинг url сегментов
- •Добавление комментариев
- •Отображение комментариев
- •Разработка Модуля
- •Регистрация Модуля в бд
- •Создание и настройка базового Модуля
- •Воспользуемся некоторыми помощниками (class Helper)
- •Пробуем различные стили
- •Попробуем смешать
- •Расширяем проект
- •Модель, Вид, Контроллер: Почему?
- •Построение Модели данных
- •Модель Все Обзоры
- •Модель одиночного Обзора
- •Миграция на Виды
- •Переключения посредством Контроллеров (Controllers)
- •Обновление связей и маршрутов
- •Реорганизация кода иа
- •Управление публикацией Обзоров
- •Добавление постраничной навигации
- •Управление Коментариями
- •Дополнительные пи
- •За кулисами: Плагины (Plug-Ins)
- •Запросы к бд
- •Плагин ссылка
- •Плагин справочной информации
- •Поиск Обзоров
- •Параметры
- •Добавление параметров к расширениям
- •Параметры для Модулей
- •Параметры для Плагинов
- •Параметры для Компонентов
- •Упаковываем все вместе
- •Список всех файлов
- •Упаковка Модуля
- •Упаковка Плагина
- •Упаковка Компонента
- •Включение sql-запросов
- •Создание пунктов меню иа
- •Дополнительные сценарии установки
- •Распространение
- •Содержание
Настройки против Расширений
Код Joomla! разработан для использования расширений, а не для непосредственного изменения кода Joomla!. Поэтому все обновления и патчи, выпущенные для Joomla!, изменяют ее основной код, а ваши расширения не будут затронуты. Расширения автономны, что позволяет свободно развивать свой собственный код без боязни потревожить другие расширения или основной код, что присутствуют в Joomla!. Однако, хоть они являются автономными, расширения не работают в полностью замкнутом пространстве. Вы можете смешивать различные виды расширений, чтобы получить желаемую.
Код Joomla позволяет расширениям совместно использовать ресурсы, а иногда и выполнять действия друг на другом. Так как мы можем писать расширения, мы будем делать это вместо того, чтобы настраивать основу
Как расширить Joomla!
Есть три типа расширений поддерживаемых Joomla!, каждое предназначено для конкретного использования.
Компоненты (Components)
Из всех доступных расширений, Компоненты являются наиболее существенными. Компоненты по существу это то, что вы видите в "основной" части страницы - ИП. Joomla! разработана для загрузки и запуска только одного Компонента для каждой сгенерированной страницы. Следовательно, функциональность ядра управления контентом Joomla! обеспечивает сам Компонент. Компоненты часто имеют сложные ИА.
ИА обычно используется для создания и обновления записей в таблицах базы данных, также там можно сделать еще очень многое. Например, вы, возможно, захотите выполнять пакетный файл, который обычно работает из командной строки UNIX, но вы можете использовать ИА, чтобы предоставить для непрограммистов ссылку на него. Вы можете также использовать ИА, чтобы администраторы сайта могли загружать фотографии или видео
Модули (Modules)
В отличие от Компонентов, любое количество Модулей может появиться на странице. Из Модулей обычно составляют элементы боковой панели или содержимое меню. Модули – это дополнения к основному содержанию Компонента, они не предназначены для вывода основного содержания. Joomla! также поддерживает Модулей, которые не связаны с программированием. В ИА Модули очень ограничены и, как правило, состоят из базовых.
Плагины (Plug-Ins)
Если маленький кусочек кода необходимо всему сайту, лучше всего это реализовать как Плагин (ранее называлось Mambot). Плагины обычно используются для форматирования вывода Компонента или Модуля уже после построения страницы. Некоторые примеры Плагинов:
-
подсветка ключевых слов,
-
комментарий к статьям,
-
HTML редакторы на базе JavaScript.
Плагины также могут быть использованы для расширения результатов найденного в основном Компоненте поиска. В ИА - аналогично Модулям
Обзор тем
Эта книга будет охватывать следующие темы, касающиеся разработки расширений для Joomla!.
Создание пи (Toolbars) и Списков
Joomla! имеет стандартный набор кнопок на ПИ, используемых в ИА. Это сохраняет единый стиль Компонентов, поэтому пользователи быстро ознакамливаются с соответствующими функциями. При необходимости, названия и функции этих кнопок можно изменить, также можно добавлять новые кнопки. Как и стандартные ПИ, Joomla! имеет определенный стиль списка набора записей из базы данных. Эти списки, как правило, имеют ссылки для формы редактирования отдельных записей и переключатель изменение статуса публикации записи. Также для списков доступно автоматическое разбиение на страницы