Login / Sign Up


Enter site:
Login: 
Password: 


First time here?
 
Register [?]:
Registering allows you:
  • Purchase products from the product catalog and access them any time.
  • Ask questions to another specialists in IT
  • Publish your own Joomla extensions, soft or other products if you are developer or distributor
  • Add interesting weblinks and access them from any place
  • Watch the updates of the site and have special abilities that guests don't have
  • Watch the news of the service and new articles and get knowledge
Choose login:
Your Email:
Enter the result of operation (in digits):
26 + 2 = ? Update

Пишем компонент под Joomla 2.5 - (Часть 2) - Файловая структура компонента PDF Print E-mail
Written by Максим   
Saturday, 01 February 2014 13:23
Liked:
27


Did not like: 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, видели как располагаются файлы до и после установки. И самое время приступить к созданию каталога и файлов компонента прямо на локальном диске. Я решил разбивать текст этой большой темы на логические куски, поэтому создание файлов я буду описывать в следующей части статьи.
 


Last Updated on Sunday, 02 March 2014 19:09
 
Автор статьи: Damascus
Всего статей: 62
Рейтинг: 3111
Страница Google+: Google

Found Error?

Система Orphus

Site Statistics

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

Our Pages


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.