Пишем компонент под Joomla 2.5 - (Часть 2) - Файловая структура компонента | ![]() | ![]() | ![]() |
Written by Максим |
Saturday, 01 February 2014 13:23 |
Liked: 28 Доброго времени суток, друзья! Сегодня я продолжаю статью по написанию компонента для Joomla 2.5. В прошлой части статьи мы познакомились с составом компонента и узнали, что он состоит из двух основных частей - frontend (пользовательская часть) и backend (административная часть), каждая из которых, в свою очередь, состоит из моделей, представлений и контроллеров. Также мы вкратце расмотрели цикл взаимодействия частей компонента при запросе пользователя к сайту. В этой части статьи я бы хотел рассказать читателю о том, что такое файловая структура компонента для Joomla 2.5. На мой взгляд, очень важно понимать, как и где хранятся файлы, из которых состоит компонент прежде чем начинать писать какой-либо код компонента. Общее представление и "картинка в голове" дадут понимание, куда помещать файлы моделей, контроллеров, представлений и т.д. Итак, после установки компонента через административную панель Joomla его файлы устанавливаются в два основных каталога на диске - это /administrator/components/com_<название_компонента> и /components/com_<название_компонента>. Пусть мы с Вами пишем компонент интернет-магазина, а сам компонент называется megashop, тогда при установке компонента на сайт Joomla создаст два основных каталога:
Содержимое каталогов com_megashop может быть разным - всё зависит от фантазии разработчика. В общем и целом - при написании компонента Вы можете определить любую файловую структуру для компонента, но есть некоторые каталоги, имена которых должны быть стандартными - это каталоги views, models, controllers. Их имена лучше не менять, потому что движок Joomla будет искать файлы компонента по заранее установленным правилам. Вот примерная файловая структура компонента, который мы будем писать: Как видим, компонент содержит довольно большое число каталогов, что не удивительно - ведь это самый мощный тип расширения для Joomla. Однако, не стоит сильно бояться такой "громоздкости" - как Вы потом поймете, каждая модель, представление и контроллер пишется примерно по одним и тем же правилам. Если освоить технологию написания всех частей компонента, Вы без труда сможете писать компоненты любой сложности. Всё будет зависеть только от Вашего воображения, желания и, конечно же, свободного времени. На картинке с файловой структурой я постарался максимально наглядно отобразить расположение всех файлов и каталогов, из которых состоит компонент, после его установки на сайт. Хочу отметить, что данная картинка отображает вид каталогов уже после установки на сайт. Дело в том, что, как Вы наверное знаете, компоненты, да и вообще любые расширения Joomla в основном распространяются в виде ZIP-архивов. Так вот, после того, как компонент написан, он упаковывается в ZIP-архив немного с другим расположением каталогов. А вот "правила установки" - т.е. из какого каталога в ZIP-архиве брать файлы и куда их устанавливать уже на сайте определяются в установочном файле компонента - megashop.xml. Как видно из картинки выше, после установки компонента на сайт этот файл копируется в административную папку компонента. Какова же структура каталогов компонента в "чистом виде", т.е. до установки на сайт? Ниже я приведу картинку для наглядности. Вы можете сравнить структуру компонента "до" и "после" установки на сайт. Как видим, в структуре файлов установленного компонента есть некоторые отличия от того, как выглядит "запакованный" компонент в ZIP-архив его дистрибутива. Вот основные отличия, и для каждого я покажу, что будет происходить в момент установки компонента через админку:
Стоит заметить, что каталоги site, admin, media могут называться по-другому. Вы могли бы назвать их как душе угодно, однако как правило лучше не отходить от общепринятых именований. Каталоги, откуда будут копироваться файлы при распаковке ZIP-архива указаны в дескрипторе компонента - файле com_megashop.xml. Вот например, отрывок из этого файла, где мы указываем имя каталога в архиве - site, а также указываем список файлов, которые нужно будет скопировать их этого каталога:
Полный текст файла дескриптора нашего будущего компонента мы рассмотрим далее по тексту статьи, когда это понадобится. А сейчас мы приступим с вами к тому, что начнём создавать файлы нашего будущего компонента. К настоящему моменту мы уже достаточно знаем о том, из каких составляющих состоит типовой компонент Joomla, видели как располагаются файлы до и после установки. И самое время приступить к созданию каталога и файлов компонента прямо на локальном диске. Я решил разбивать текст этой большой темы на логические куски, поэтому создание файлов я буду описывать в следующей части статьи. |
Last Updated on Sunday, 02 March 2014 19:09 |