Основные константы при разработке Joomla Print
Written by Максим   
Saturday, 09 November 2013 00:15
Liked:
4


Did not like: 0

В данной небольшой статье я хочу описать основные константы Joomla, которые часто встречаются в коде сторонних расширений. Если Вы разработчик расширений Joomla или собираетесь им стать, то Вам обязательно пригодится данная информация. Желательно выучить наизусть то, что означает каждая из констант. Однако лучше всего практиковаться в написании расширений, тогда запомнить табличку, которую приведу чуть ниже, будет проще. Все перечисленные константы и их объявления Вы можете сами найти в файле, который располагается по адресу<корень_сайта>/includes/defines.php. Это касается всех констант, кроме JPATH_BASE. Она определена в индексном файле<корень_сайта>/index.php

Имя константыЗначение
JPATH_ADMINISTRATORПуть к каталогу администратора (/administrator)
JPATH_BASEПуть к установленному сайту Joomla
JPATH_CACHEПуть к каталогу, содержащему кэш
JPATH_COMPONENTПуть к компоненту, который в данный момент исполняется
JPATH_COMPONENT_ADMINISTRATORПуть к административному каталогу того компонента, который в данный момент исполняется
JPATH_COMPONENT_SITEПуть к каталогу сайта того компонента, который в данный момент исполняется
JPATH_CONFIGURATIONПуть к каталогу, содержащему файл конфигурации configuration.php
JPATH_INSTALLATIONПуть к каталогу установки Joomla
JPATH_LIBRARIESПуть к каталогу, содержащему библиотеки Joomla
JPATH_PLUGINSПуть к каталогу, содержащему плагины Joomla
JPATH_ROOTПуть к корневому каталогу сайта Joomla
JPATH_BASEПуть к корневому каталогу сайта Joomla
JPATH_THEMESПуть к каталогу с шаблонами сайта
JPATH_XMLRPCПуть к каталогу XML-RPC Веб-сервисов Joomla (Только для версии Joomla 1.5)

Очень важно понимать, что данные константы задают пути в файловой системе сервера, на котором установлен Ваш сайт Joomla. Т.е. они содержат абсолютные пути, а не те пути, которые используются в URL. Для того, чтобы формировать URL-пути, нужно использовать вызов JURI::base()

Различия между JPATH_SITE, JPATH_ROOT и JPATH_BASE

Начнём с того, что расширения бывают двух типов - JSite и JAdministrator. Те, что написаны для административной части Вашего сайта Joomla, называются JAdministrator-расширения. Это модули, плагины и компоненты, которые не увидит конечный посетитель сайта. Они предназначены для обеспечения работы Вашей административной панели Joomla. Например, какой-нибудь JAdministrator-плагин может украшать внешний вид панели администрирования Joomla. Расширения типа JSite - предназначены именно для той части сайта, что видна посетителю. А теперь посмотрим на отличия между константами в констексте этих двух типов:

Константа JPATH_SITE всегда указывает на корень сайта. Аналогично - константа JPATH_ADMINISTRATOR указывает на каталог <корень_сайта>/administrator

Константа JPATH_BASE - зависит от контекста расширения, т.е. от его типа. Если она используется в расширении, которое написано для административной части сайта (т.е. JAdministrator-расширения), то будет выполняться равенство:

JPATH_BASE == JPATH_ADMINISTRATOR

Если мы используем константу JPATH_BASE в JSite-расширении, то

JPATH_BASE == JPATH_SITE

Если мы в установщике расширения, то

JPATH_BASE == JPATH_INSTALLATION

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

В противоположность "изменчивой" константе JPATH_BASE, константа JPATH_ROOT всегда указывает на корневой каталог установки Joomla, независимо от того, в каком контексте и типе расширения она используется.

На этом пока всё, надеюсь, что знание этих констант поможет Вам в написании расширений для Joomla. Успехов!

А знаете ли Вы, что таблица с константами в этой статье была нарисована с помощью нашего плагина для Joomla - JRichArticles? Помимо легкой и удобной вставки таблиц, он имеет множество других полезных возможностей, например умеет добавлять в статьи кнопки и целые галереи изображений. Бесплатную версию плагина можно попробовать здесь. Однако таблицы доступны только в Pro-версии, её можно приобрести в нашем каталоге тут



Last Updated on Sunday, 17 November 2013 01:34
 
Автор статьи: Damascus
Всего статей: 62
Рейтинг: 3111
Страница Google+: Google