Вход / Регистрация


Вход на сайт:
Логин: 
Пароль: 


Впервые здесь?
 
Регистрация [?]:
Регистрация у нас позволит:
  • Покупать платные продукты из каталога и иметь к ним доступ в любое время
  • Задавать вопросы другим людям, участвовать в дискуссиях
  • Публиковать свои расширения, программы и софт, если Вы разработчик или дистрибьютор
  • Добавлять интересные ссылки и иметь к ним доступ из любой точки, где есть выход в Интернет
  • Следить за обновлениями сервиса и получать дополнительные возможности, которых не имеют обычные гости
  • Следить за новыми статьями и получать новые знания
Выберите логин:
Ваш Email:
Введите результат выполнения операции (цифрами):
12 + 9 = ? Обновить

Пишем компонент под Joomla 2.5 - (Часть 2) - Файловая структура компонента PDF Печать E-mail
Автор: Максим   
01.02.2014 13:23
Понравилось:
28


Не понравилось: 0
Недоступен ни один перевод.

Доброго времени суток, друзья! Сегодня я продолжаю статью по написанию компонента для Joomla 2.5. В прошлой части статьи мы познакомились с составом компонента и узнали, что он состоит из двух основных частей - frontend (пользовательская часть) и backend (административная часть), каждая из которых, в свою очередь, состоит из моделей, представлений и контроллеров. Также мы вкратце расмотрели цикл взаимодействия частей компонента при запросе пользователя к сайту.

В этой части статьи я бы хотел рассказать читателю о том, что такое файловая структура компонента для Joomla 2.5. На мой взгляд, очень важно понимать, как и где хранятся файлы, из которых состоит компонент прежде чем начинать писать какой-либо код компонента. Общее представление и "картинка в голове" дадут понимание, куда помещать файлы моделей, контроллеров, представлений и т.д.

Итак, после установки компонента через административную панель Joomla его файлы устанавливаются в два основных каталога на диске - это /administrator/components/com_<название_компонента> и /components/com_<название_компонента>. Пусть мы с Вами пишем компонент интернет-магазина, а сам компонент называется megashop, тогда при установке компонента на сайт Joomla создаст два основных каталога:

  • <корень_сайта>/administrator/components/com_megashop
  • <корень_сайта>/components/com_megashop

Содержимое каталогов com_megashop может быть разным - всё зависит от фантазии разработчика. В общем и целом - при написании компонента Вы можете определить любую файловую структуру для компонента, но есть некоторые каталоги, имена которых должны быть стандартными - это каталоги views, models, controllers. Их имена лучше не менять, потому что движок Joomla будет искать файлы компонента по заранее установленным правилам. Вот примерная файловая структура компонента, который мы будем писать:

Как видим, компонент содержит довольно большое число каталогов, что не удивительно - ведь это самый мощный тип расширения для Joomla. Однако, не стоит сильно бояться такой "громоздкости" - как Вы потом поймете, каждая модель, представление и контроллер пишется примерно по одним и тем же правилам. Если освоить технологию написания всех частей компонента, Вы без труда сможете писать компоненты любой сложности. Всё будет зависеть только от Вашего воображения, желания и, конечно же, свободного времени.

На картинке с файловой структурой я постарался максимально наглядно отобразить расположение всех файлов и каталогов, из которых состоит компонент, после его установки на сайт. Хочу отметить, что данная картинка отображает вид каталогов уже после установки на сайт. Дело в том, что, как Вы наверное знаете, компоненты, да и вообще любые расширения Joomla в основном распространяются в виде ZIP-архивов. Так вот, после того, как компонент написан, он упаковывается в ZIP-архив немного с другим расположением каталогов. А вот "правила установки" - т.е. из какого каталога в ZIP-архиве брать файлы и куда их устанавливать уже на сайте определяются в установочном файле компонента - megashop.xml. Как видно из картинки выше, после установки компонента на сайт этот файл копируется в административную папку компонента.

Какова же структура каталогов компонента в "чистом виде", т.е. до установки на сайт? Ниже я приведу картинку для наглядности. Вы можете сравнить структуру компонента "до" и "после" установки на сайт.

Как видим, в структуре файлов установленного компонента есть некоторые отличия от того, как выглядит "запакованный" компонент в ZIP-архив его дистрибутива. Вот основные отличия, и для каждого я покажу, что будет происходить в момент установки компонента через админку:

  • В ZIP-архиве установочный дескриптор компонента - в нашем случае это megashop.xml располагается прямо в корне архива, а после установки он будет скопирован в <корень_сайта>/administrator/components/com_megashop/megashop.xml
  • В ZIP-архиве есть каталог /media , который может содержать различные мультимедиа файлы (изображения, видео и т.д.), которые будет использовать компонент в своей работе. Содержимое этого каталога при установке компонента будет скопировано в каталог <корень_сайта>/media/com_megashop/
  • Из ZIP-архива все содержимое каталога /site будет скопировано в front-end часть компонента, т.е. в каталог <корень_сайта>/components/com_megashop/
  • Из ZIP-архива все содержимое каталога /admin будет скопировано в back-end часть компонента, т.е. в каталог <корень_сайта>/administrator/components/com_megashop/

Стоит заметить, что каталоги site, admin, media могут называться по-другому. Вы могли бы назвать их как душе угодно, однако как правило лучше не отходить от общепринятых именований. Каталоги, откуда будут копироваться файлы при распаковке ZIP-архива указаны в дескрипторе компонента - файле com_megashop.xml. Вот например, отрывок из этого файла, где мы указываем имя каталога в архиве - site, а также указываем список файлов, которые нужно будет скопировать их этого каталога:


	<files folder="site">

	<filename>index.html</filename>

	<filename>megashop.php</filename>

	<filename>controller.php</filename>

	<folder>css</folder>

	<folder>js</folder>

	<folder>views</folder>

	<folder>models</folder>

	</files>

	
 
Полный текст файла дескриптора нашего будущего компонента мы рассмотрим далее по тексту статьи, когда это понадобится. А сейчас мы приступим с вами к тому, что начнём создавать файлы нашего будущего компонента. К настоящему моменту мы уже достаточно знаем о том, из каких составляющих состоит типовой компонент Joomla, видели как располагаются файлы до и после установки. И самое время приступить к созданию каталога и файлов компонента прямо на локальном диске. Я решил разбивать текст этой большой темы на логические куски, поэтому создание файлов я буду описывать в следующей части статьи.
 


Обновлено 02.03.2014 19:09
 
Автор статьи: Damascus
Всего статей: 62
Рейтинг: 3111
Страница Google+: Google

Нашли ошибку?

Система Orphus

Оплата на сайте

Яндекс.Деньги
www.megastock.ru
Здесь находится аттестат нашего WM идентификатора 207935874510
Проверить аттестат

Статистика сайта

Яндекс.Метрика

Мы в Интернете


Allineed.Ru © 2009-2012 - Allineed.Ru - ответы на IT вопросы, статьи о разработке, IT и программном обеспечении. При использовании материалов сайта ссылка обязательна. Использование данного сайта и любой его части означает принятие условий Пользовательского Соглашения.
Allineed.Ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters. The Joomla! name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.