Импорт php классов в собственных компонентах Joomla версии 2 и 3

Опубликовано admin - вс, 09/01/2013 - 20:47

В тех случаях, когда пишется собственный компонент, неотъемлемой его частью будут классы, обслуживающие данный компонент. Для того, чтобы написать что-то вроде mycomponentimport(mycomponent.render.renderjquery) и подключить класс расположенный по адресу "com_mycomponent/libraries/render/renderjquery.php", который затем можно будет использовать как в администраторской части сайта, так и на страницах самого сайта, необходимо добавить в файл компонента(в администраторскую часть сайта /administartor/components/com_mycomponent/mycomponent.php) с его названием mycomponent.php следующий код:

С помощью этого кода будет подключен класс (файл должен быть расположн по адресу "components/com_mycomponent/libraries/loader.php") для импорта других классов, код которого указан ниже:

Класс "MycomponentLoader" расширяет стандартный класс "JLoader", в результате на страницах компонента возможно подключать классы в стиле Joomla jimport('joomla.application.component.controller');, но вместо jimport соответственно mycomponentimport(mycomponent.render.renderjquery). Будьте внимательны, классы компонента необходимо помещать в директорию libraries, следуя пути "mycomponent.render.renderjquery", в котором точка будет заменена на слэш, имя после завершающей точки будет соответствовать имени файла с расширением php. То есть mycomponentimport(mycomponent.render.renderjquery) подключит файл php, расположенный по адресу "/administrator/components/com_mycomponent/libraries/render/renderjquery.php".

Класс из подключенного файла можно использовать и на страницах сайта, - не только в администраторском разделе, для этого необходимо в файл компонента, расположенный по адресу "/components/com_mycomponent/mycomponent.php" добавить аналогичный код, что и в файл администраторской части:

Сейчас классы с помощью данного импорта можно использовать где угодно в рамках компонента "com_mycomponent".

В следующей статье я расскажу о построении алиасов (маршрутиризации) для собственного компонента на сайте с помощью класса JRouter и файла router.php.

Теги

Оценка

No votes have been submitted yet.

На разработку сайта! Скидки до 20%!