Создание основы компонента

Дата Автор 

 

В прошлом уроке мы узнали, как устроен компонент Joomla, а именно, что он работает на шаблоне проектирования MVC. Так же мы узнали, как устроен этот шаблон и как нам придется создавать компоненты. 

В этом уроке мы создадим и установим наш будущий компонент joomla, а вернее пока что, только основу компонента, которую далее будем дорабатывать. Установка компонентов joomla происходит быстро, если установочный файл правильно создан.

 

Итак, для начала придумайте название вашего компонента, мой компонент будет называться lesson, следовательно, я создаю у себя на компьютере папку com_lesson. Приставка com и нижнее подчеркивание обязательны в названии папки, это означает, что в папке находятся файлы компонента.  В этой папке нужно создать ещё две с названием site и admin. Тут думаю все понятно, в одной папке будут файлы админки (иначе бэкэнда), а в другой файлы которые будут отображаться посетителям (иначе и далее фронтэнд). В каждую папку уже сейчас можно закинут два одинаковых файла index.html в которых будет вот такой вот код

 

<html>

<body bgcolor="#FFFFFF">

</body>

</html>

 

Это нужно для защиты от прямого доступа в папку. Некоторые хостинги не блокируют пользователя, который попадает в директорию, в которой нет файла index.html или index.php. За этот счет пользователь может увидеть все файлы, которые содержаться в директории, а это не крайне не желательно.

Далее в корне папки com_lesson создаем файл название компонента.xml  (в моем случае lesson.xml). Этот файл отвечает за установку компонента, а так же в нем будет содержать информация о нем. Код этого файла должен быть таким:

 

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/component-install.dtd">

<install type="component" version="1.5.0">

   <name>Название компонента</name>

   <creationDate>Дата создания</creationDate>

   <author>Автор</author>

   <authorEmail>email автора</authorEmail>

   <authorUrl>сайт автора</authorUrl>

   <copyright></copyright>

   <license>Тип личензии</license>

   <version>версия</version>

   <description>Описание</description>

<!--Описываем устанавливаемые файлы в пользовательскую директорию-->

<files folder="site">

   <filename>index.html</filename>

</files>

<!--Описываем настройки и устанавливаемые файлы для администраторской директории-->

<administration>

<!--Создаем в меню Компоненты подпункт с нашим компонентом-->

    <menu img="путь к картинке в меню">Название компонента</menu>

       <files folder="admin">

          <filename>index.html</filename>

       </files> 

</administration>

</install>

 

ВАЖНО: Обязательно сохраните установочный файл в формате utf-8 иначе компонент не установиться!

 

Наш компонент готов к установке. Теперь нужно запаковать папку com_lesson в zip архив. Хочу обратить внимание, что  архив должен быть именно формата zip, так как других система не распознает. Заходим в админку, выбираем меню Расширение – Менеджер расширений и загружаем  компонент с компьютера. Если все сделано правильно и без ошибок, то компонент удачно установиться, и будет отображаться в админке в разделе компоненты.

 

Компонент создан и установлен, но пока, что ничего не отображает, ну кроме ошибки =) На этом урок закончим. Да, этот урок тоже не сильно отличался от остальных уроков существующих в сети, но причины я говорил уже в предыдущем уроке. В следующем уроке мы начнем программировать, создадим контроллер, вид и модель для фронтэнда, иначе говоря создадим пользовательскую часть компонента. Ну, а если урок не получиться слишком большим то и для админки компонента.

 

P.S.  Во вложении вы можете скачать мой компонент com_lesson. Вложения находяться внизу страницы, сразу под тегами

 

 

Спасибо за внимание!!! С уважением Остапенко Илья.

Оцените материал
(4 голосов)
 

Комментарии   

 
Анатолий
+1 # Анатолий 08.04.2013 15:49
Илья очень хорошие статьи, очень нужные и полезные, но хотелось бы заметить. В конце каждой статьи напиши какие файлы и куда добавил, своего рода хронологию компонента. Порядок добавления файлов непосредственно на хост не совсем удобен. Лучше сначала собрать и уж после загрузить стандартным методом из панели Joomla. Так новичёк хоть сможет узреть творение рук своих ( не без твоей конечно помощи). Ну вот вроде всё. А впрочем +5 тебе молодец.
Ответить | Ответить с цитатой | Цитировать
 
 
Евгений
0 # 10.01.2014 20:11
Илья, здравствуйте! Очень полезная статья. Начал действовать согласно ей. Мне вообщето надо следующее
1 Кабинет пользователя, в админке джумлы
2 Кабинет администратора компонента, доступ к нему имеет только админ джумлы
3 Обычная страница джумлы, но с проверкой авторизован ли пользователь, смотрящий страницу. В зависимости от этого должна показываться разная информация.
Не подскажите, как сделать это?
Ответить | Ответить с цитатой | Цитировать
 
 
Остапенко Илья
0 # Остапенко Илья 11.01.2014 14:10
Здравствуйте Евгений. Если я все правильно понял, то все это легко реализуется с помощью стандартных средств Joomla. Попробуйте поработать с правами доступа.
Ответить | Ответить с цитатой | Цитировать
 
Добавить комментарий


Защитный код
Обновить