Авторизация на сайте

 

Создание компонентов Joostina 1.3, 1 серия

Дата начала публикации: 15.03.2010
В Joostina 1.3 появились некоторые новые возможности и моменты которые позволяют создавать расширения для неё довольно легко и быстро. Руководства от старой Joomla и ранних версий Joostina уже устарели, и не покрывают весь спектр новых вкусностей. С сегодняшнего дня постараюсь поэтапно раскрывать занавес и рассказывать что же там такого мы придумали что бы упростить жизнь создателям расширений. Начну с самой большой и широкой темы - написание компонента.
Компонент в понятия Joostina - это набор файлов отвечающих за управление и вывод данных. Компонент имеет 2 области действия - фронт сайта, и панель управления.
Файлы компонента отвечающие за фронтальную часть находятся в каталоге {корень}/components/com_name, где com_name - это собственно название компонента.
Для панели управления файлы располагаются в каталоге {корень}/administrator/components/com_name, где com_name - это всё то же  название компонента.
Типичная структура каталога компонента отвечающая за фронт выглядит таким образом:
  • name.php
  • name.html.php
  • name.class.php
  • name.ajax.php
Обратите внимание - каталог компонент называется com_name, а сами файла - name*, без com_.

name.php - можно сказать что этот файл является главным в работе фронтальной части компонена. Если закрыть глаза и не загонять себя в жесткие рамки - то name.php является по своей сути контроллером компонента ( в видении MVC ).
name.html.php - файл отвечающий за оформление компонента, в нём находится весь HTML код с кусочками php вкраплений. Или же дальнейший слой абстракции для использование уникальных шаблонов оформления компонента, но про это рассмотрим намного позже. Этот файл будем ассоциировать с представлением, опять же в проекции MVC.
name.class.php - модель компонента, опять же в MVC концепции. В файле описываются объекты базы данных которые использует компонент. Вся логика управления этимо объектами так же прописывается в файле name.class.php.
name.ajax.php - аякс-контроллер компонента. Отвечает за функции работы компонента которые реализуются методом аякс. Чаще всего эти функции намного проще и быстрее чем функции основного контроллера, и не требуют для своей работы множества возможностей передаваемых основному контроллеру.

Структура каталога компонента для работы панели управления во многом схожа с фронтом, но есть некоторые различия
  • admin.name.php
  • admin.name.html.php
  • admin.name.ajax.php
  • name.xml
  • toolbar.name.php
  • toolbar.name.html.php

admin.name.php, admin.name.html.php, admin.name.ajax.php - это уже знакомые контроллер, представление и аякс-контроллер, но уже для панели управления, и поэтому начинаются с префикса admin.
name.xml
- файл установки и настройки компонента. Жестко структурированный XML файл содержащий информацию о компоненте, информацию о разработчиках, список используемых файлов и sql команд для установки. Так же в файле можно прописать настройки для ссылок которые будут формироваться на объекты компонента. Более подробно этот файл и его начинку рассмотрим позднее, в следующих заметках.
toolbar.name.php - файл отвечающий за вывод кнопок управления компонентом в панели управления, т.е. кнопки туллбара. Файл непосредственно отвечает за то какие кнопки и при каких условиях должны отображаться.
toolbar.name.html.php - файл описывающий группы и оформление кнопок туллбара. По своей сути файл содержит набор правил отвечающих за последовательность и свойства выводимых кнопок туллбара.

На сегодня всё, дальше и больше интересного в новых сериях.

Добавить комментарий


Защитный код
код с картинки (Обновить)