- Разработка расширения для Joomla! 3.0 – начинаем разработку
- Шаг 1: Опишите основную схему компонента
- Детали компонента
- Основные функции
- Основные файлы
- Шаг 2: Создайте файлы базы данных
- Шаг 3: Начните создание папок и файлов компонента
- Шаг 4: Создайте файлы установки, точку входа, контроллеры и контроллеры представления
- Файлы установки
- Разбираем что такое компоненты Joomla на примере редактора JCK
- Что такое компоненты Joomla?
- Компонент JCK Editor визуальный редактор Joomla
- Установка редактора JCK Editor на Joomla 3.7
- Делаем JCK Editor редактором по умолчанию
- Компоненты, модули, мамботы — что это такое?
- Компоненты
- Модули
- Мамботы
- Компоненты в Joomla
- Установка компонентов
- Удаление компонентов
- Научись создавать модули для Joomla с нуля
Разработка расширения для Joomla! 3.0 – начинаем разработку
Все статьи цикла:
Для того чтобы иметь хороший рабочий пример для статей на тему разработки компонента для Joomla! 3.0, я (David Hurley) выбрал вариант прохождения непосредственно по процессу написания реального расширения. Этот компонент будет доступен для обзора и загрузки с сопроводительного веб-сайта Lendr (сейчас сайт недоступен), на который я буду ссылаться в этой и будущих статьях. Моя цель – это написание полноценного компонента, а не примера вроде «Hello World», для того чтобы продемонстрировать ключевые моменты реальной разработки компонента.
Шаг 1: Опишите основную схему компонента
Первым делом мы должны создать общий обзор файлов, папок, таблиц базы данных и связанных полей. Для нашего компонента мы создадим следующую систему.
Детали компонента
Название: Lendr
Название компонента: com_lendr
Описание: Lendr – это компонент Joomla! 3.0 (использующий Bootstrap), который позволит пользователям создавать профиль, добавлять книги в коллекции своей библиотеки, просматривать библиотеки других пользователей, попросить книгу в долг, добавлять книги в списки желаемых (wishlist), а также подписываться на список ожидания определенной книги.
Основные функции
Новый компонент Lendr будет иметь следующий набор возможностей:
- Аккаунты пользователей / Профили
- Книги / Библиотеки для пользователей
- Списки для желаемых книг
- Одалживание / Заимствование книги
- Запросы на заимствование книги
- Списки ожиданий на уже заимствованные книги
Теперь мы должны написать базовую структуру необходимых нам файлов. Это точно не будет исчерпывающий список, и он, скорее всего, будет изменяться в процессе написания компонента. Однако, имея изначальную схему, мы сможем хоть как-то придерживаться нашего пути. Вот первоначальная схема ключевых файлов необходимых для Lendr:
Controllers | Models | Views | Tables | Misc. |
---|---|---|---|---|
Save List Add Edit Lend Delete Wish Review Request Default | Book Default Library Profile Review Waitlist Wishlist | Book Wishlist Library Profile Waitlist Review | Book Wishlist Library Waitlist Review | Install Router XML |
Основные файлы
Теперь, когда мы все выписали, мы начинаем создавать эти файлы в нашей структуре папок.
Шаг 2: Создайте файлы базы данных
Мы начинаем с создания файлов базы данных. Мы сохраняем эти файлы в папке таблиц, которая расположена во фронтэнде нашего компонента. Мы создаем все файлы, которые описали в нашей схеме. Вот один из этих фалов /components/com_lendr/site/tables/book.php :
В нашем случае файл таблицы содержит одну функцию конструктора. Эта функция описывает имя таблицы, которая связана с этим JTable файлом и также определяет поле первичного ключа book_id .
Во время создания этих таблиц целесообразно начать процесс создания скрипта install.mysql.sql, который будет использоваться при установке компонента из панели управления Joomla!. Вот так выглядит начало файла /administrator/components/com_lendr/admin/install.mysql.sql :
Мы будем продолжать добавлять информацию в этот файл по мере прохождения по процессу создания наших таблиц.
Шаг 3: Начните создание папок и файлов компонента
После создания таблицы базы данных мы создаем структуру файлов для нашего компонента. Ниже приведена базовая структура директорий:
Все эти файлы и папки важны, но не все они необходимы. Вскоре мы начнем работу с каждым из этих файлов и функциями, которые они содержат. По ходу действия мы выясним назначение каждого их них.
Шаг 4: Создайте файлы установки, точку входа, контроллеры и контроллеры представления
На этом шаге мы добавим контент в некоторые файлы. Сначала мы рассмотрим файлы установки, потом мы поработаем с контроллерами и, наконец, добавим наши контроллеры представлений.
Файлы установки
Файлы корневого уровня, это файлы, которые использует Joomla! во время установки компонента. Они расположены в папке вашего компонента com_lendr вне папок site и admin . Это XML-файл (или по другому его называют «манифест-файл») установки, который содержит в себе описание компонента, связанные файлы, меню и языковые файлы. Также это файл install.php , который содержит в себе некоторые функции, выполняющиеся во время установки. Название файла может быть любым, но ссылка на него должна быть четко указана в XML-файле. Эти функции не обязательно использовать, но они могут помочь в выполнении каких-то дополнительных действий во время установки компонента.
Первый блок деталей определяет информацию о компоненте. Эта информация отображается в Менеджере расширений Joomla! и также сохраняется в таблице расширений (#__extensions).
Этот блок говорит Joomla! где находятся SQL файлы компонента. Они выполняются во время установки для создания необходимых таблиц базы данных. Вы можете установить свой кодировку символов, а также тип драйвера.
Вы также можете определить блок uninstall со схожей структурой для определения SQL инструкций, которые необходимо выполнить при удалении компонента.
Этот блок определяет папки, которые будут установлены во фронт-энд компонента. Не обязательно указывать каждый файл, просто папки и файлы корневого уровня. По всем папкам будет выполнен рекрусивный поиск, и все файлы будут добавлены.
Разбираем что такое компоненты Joomla на примере редактора JCK
В предыдущем уроке мы разобрались, что такое плагины и даже установили плагин mAvik Thumbnails. Данный урок я полностью решил посвятить очередному представителю расширений — компонентам Joomla 3.
Для начала разберем теоретическую часть, узнаем, что такое компоненты и как их найти в панели управления. После этого для лучшего понимания сути вопроса установим один из компонентов – визуальный редактор JCK Editor и научимся с ним работать.
Что такое компоненты Joomla?
Компоненты это самые сложные представители расширений, для которых разработчики даже выделили отдельный раздел. В состав компонентов могут входить и плагины и модули, которые связаны между собой. Для того чтобы посмотреть какие расширения уже установлены в вашей Joomla зайдите в панель управления и нажмите на раздел «Компоненты»:
На скриншоте видно, что в базовой сборке CMS Joomla 3.7 уже присутствует 11 различных компонентов — баннеры, контакты, ленты новостей, метки и так далее.
Каждый из компонентов выполняет свою определенную функцию, например баннеры помогут разместить на страницах сайта некую рекламу, компонент перенаправление поможет перенаправить поисковых роботов с одной страницы сайта на другую и так далее.
Рассматривать весь функционал стандартных компонентов Joomla мы не будем, а работу с компонентами рассмотрим на примере одного из лучших, на мой взгляд, визуальных редакторов JCK Editor.
Компонент JCK Editor визуальный редактор Joomla
JCK Editor это отличная замена стандартному визуальному редактору Joomla 3. Он бесплатен, обладает отличным функционалом и другими примочками, но есть у него и один незначительный недостаток – его больше не обновляют, точнее он получил новое название (Ark Editor) и кучу различных функций, за которые придется заплатить.
Установка редактора JCK Editor на Joomla 3.7
Не смотря на то, что поддержка редактора прекратилась, он все же отлично работает с Joomla версии 3.7.4. Для начала скачиваем редактор JCK Editor, а затем устанавливаем. Процесс установки стандартный, а после того как компонент будет установлен автоматически запустится мастер настройки редактора:
По желанию читаем некое подобие информации и жмем кнопку «Далее», на следующем шаге нам предстоит выбрать семейство, размер и цвет шрифта, а так же цвет фона редактора:
Со шрифтами разобрались, жмем «Далее» и переходим к завершающему этапу настройки – редактированию стилей:
Делаем JCK Editor редактором по умолчанию
После того как редактор установлен необходимо установить его в качестве редактора по умолчанию, причем сделать это можно как для определенного пользователя так и для всех пользователей сразу.
Для того чтобы выбрать JCK Editor редактором по умолчанию для конкретного пользователя переходим в раздел «Пользователи» -> «Менеджер пользователей». Выбираем из списка интересующего пользователя и открываем его профиль для редактирования. На вкладке «Параметры» ищем пункт «Редактор» и в выпадающем списке выбираем JCK Editor (там он именуется как JoomlaCK):
А если Вы решили сделать JCK Editor редактором по умолчанию для всех пользователей, тога переходим в общие настройки системы («Система» -> «Общие настройки») и на вкладке «Сайт» выбираем интересующий нас редактор:
А теперь давайте перейдем в раздел «Менеджер материалов» и создадим новый, либо откроем имеющийся для редактирования:
Заметили разницу? Да, теперь редактировать материал станет гораздо удобнее и это все благодаря компоненту JCK Editor.
Но не только внешний вид красит данный визуальный редактор, вот только некоторые особенности, которые, на мой взгляд, делают JCK Editor одним из лучших:
- Встроенные аудио и видео плееры
- Оригинальный и быстрый файловый менеджер
- Оригинальный обработчик изображений
- Поддержка смайликов
- Поддержка стилей и шаблонов для текста
На этом я завершаю урок посвященный компонентам Joomla, а в следующем уроке поговорим о последнем представителе расширений – шаблонах Joomla.
Компоненты, модули, мамботы — что это такое?
Компоненты
Компоненты — это расширения Joomla, которые составляют функционал системы и поддерживают интерактивное взаимодействие с пользователем, Компонентами в Joomla являются форумы, файловые архивы, галереи, системы сбора статистики, резервного копирования и т.д. Управление пользователями, создание разделов, — это тоже компоненты, но работающие только в административной части сайта. Добавление и отображение материалов — компоненты, работающие и в админке, и публичной части сайта. Компонент поиска имеет только публичную часть.
Модули
Модули, в отличие от компонентов, выполняют функции отображения какой-либо информации и в большинстве случаев не выполняют никаких операций по добавлению/модификации данных. Другим немаловажным отличием модулей от компонентов является возможность копирования модулей. Как правило, модули располагаются в левой и правой колонке при трехколоночной верстке. Примером модулей является навигационное меню, календарь, список популярных статей и т.д.
Мамботы
Мамботы — это небольшие функции позволяющие выполнять манипуляции с данными перед отображением их пользователям сайта. Пример работы мамбота — найти в тексте условный код, на который он запрограммирован и заменить его на другой.
В большинстве случаев, расширение для Joomla состоит из компонента, одного или нескольких модулей и поискового мамбота. Компонент выполняет какие либо действия с данными (добавляет/изменяет/удаляет), модули отображают данные, а мамбот позволяет осуществлять поиск по данным этого компонента.
Компоненты в Joomla
Дата публикации: 2016-01-21
От автора: приветствую Вас, дорогой друг. Думаю, не для кого, не секрет, что базовый функционал CMS Joomla, “из коробки”, достаточно ограничен, но значительно расширяется различными сторонними расширениями. А именно компонентами, модулями и плагинами. Поэтому в данной статье мы с Вами разберем, что такое компоненты, как они устанавливаются, и как удалить компонент Joomla.
Компонент – это наиболее сложный тип расширений, который предназначен для формирования определенного контента, и, по сути, представляет собой микро-CMS, которая устанавливается в систему управления контентом Joomla, и предназначена для создания, редактирования и управления определенным типом содержимого. При этом благодаря компонентам, разработчик может формировать дополнительные типы контента, выполнять его настройку и отображать в пользовательской части сайта. Компоненты могут до неузнаваемости изменить стандартный функционал Joomla, то есть, добавить что то новое, изменить структуру некоторых элементов, добавить дополнительные разделы в панель администратора и т.д. Некоторые компоненты настолько объемные, что поддерживают собственные элементы расширений, которые устанавливаются непосредственно в компонент, а так же собственную систему шаблонов, по отображению данных. Во время установки, компоненты, помимо копирования файловой структуры, создают в базе данных определенный набор таблиц, которые необходимы для хранения сформированного контента, и настроек.
Другими словами, компонент – это некий законченный элемент CMS Joomla, который работает с определенным видом контента, и предоставляет разработчику инструменты по его управлению, с последующим отображением на экран.
В данное время создано огромное количество различных компонентов, которые веб-разработчики могут использовать для решения определенных задач. При этом компоненты бывают как платные, так и бесплатные и выпускаются под различные версии CMS Joomla. На официальном сайте расширений, Вы можете найти компонент, который необходим для решения поставленных задач.
Хотите узнать, что необходимо для создания сайта?
Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!
Теперь, давайте поговорим о том, как установить компонент Joomla.
Установка компонентов
Для установки компонента, как и для любого другого расширения CMS Joomla, используется менеджер расширений.
А, значит, выполнить установку мы можем четырьмя способами. Первый, и самый быстрый – это использование дополнительной вкладки ”Установить из JED”, которую можно отобразить на экране, кликнув по специальной кнопке “Добавить закладку ‘Установить из JED’”. Данная вкладка, отображает доступные расширения из официального сайта CMS Joomla. Воспользовавшись поиском, Вы можете отыскать интересующий компонент и установить его в CMS, без необходимости скачивания. К примеру, установим компонент комментариев JComments.
Кликнув по заголовку компонента, мы перейдем на страницу его установки.
Хотите узнать, что необходимо для создания сайта?
Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!
После подтверждения, установка будет завершена.
Второй способ установки – это использование вкладки “Загрузить файл пакета”, который предусматривает скачивание архива формата .zip, последующую загрузку и установку. На официальном сайте, расширений Joomla, выбрав интересующий компонент, необходимо его скачать, а затем в вышеуказанной вкладке, выбрать скачанный архив и нажать кнопку “Загрузить и установить”.
Хотел бы заметить, что очень часто в скачанном архиве, присутствуют дополнительные элементы компонента или архивы, среди которых, будет содержаться необходимый для установки. В этом случае, перед установкой, необходимо выполнить предварительную распаковку.
Третий способ установки – это использование вкладки “Установить из каталога”. Данный способ используется, если размер устанавливаемого компонента превышает 2Мб (очень часто в интерпретаторе PHP, установлено ограничение на загрузку файлов свыше 2Мб). При этом скачав архив с исходником компонента, необходимо его распаковать и скопировать в каталог tmp, исходных файлов Joomla. Далее в вышеуказанной вкладке, в поле “Каталог установки” указываем путь к папке, в которую были добавлены исходники для установки.
И, наконец, последний способ установки – это использование вкладки “Установить из URL”. В поле “URL установки”, данной вкладки, необходимо прописать путь (URL) к интересующему компоненту, и нажать на кнопку “Установить”.
Удаление компонентов
Теперь давайте поговорим о том, как в joomla 3 удалить компонент. Для удаления компонентов, да и в принципе любых расширений Joomla, необходимо перейти в “Менеджер расширений”, в раздел “Управление”.
Далее, в списке установленных расширений, необходимо отыскать интересующее, отметить его галочкой и кликнуть по кнопке “Деинсталлировать”. После этого компонент будет удален из CMS Joomla.
На этом данная статья завершена. Всего Вам доброго и удачного кодирования.
Хотите узнать, что необходимо для создания сайта?
Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!
Научись создавать модули для Joomla с нуля
Посмотрите видео по созданию модулей для Joomla!