Недостающий функционал или как расширить Joomla без хаков

Итак, в процессе кодирования часто возникают мелкие вопросы, связанные с обработкой/отображением данных в разных расширениях Joomla. Вот например, нужно в блоге, статье и модуле последних новостей обработать дату создания для вывода ее в едином стиле (точнее виде). Писать в каждом шаблоне один и тот же код не оптимально. Подключать "внешний" файл с классами/функциями, тоже не удобно. Нужно решить где расположить этот файл, путь до него и прочее. Особенно неудобно при дублировании кода из проекта в проект.

И вот в один прекрасный вечер меня осенила идея, что в Joomla уже есть механизм для подключения и размещения нужных классов и функций.

Есть такая функция jimport, начиная еще с Joomla 1.5, при ее вызове:

jimport('joomla.application.component.controller');

происходит подключение php файла /libraries/joomla/application/component/controller.php. В данном файле находится класс JController.

Таким образом наш файл с нужными классами/функциями необходимо разместить по следующему пути /libraries/you_class/helper.php и в коде шаблона (компонента и прочее) сделать вызов функции jimport:

jimport('you_class.helper');

Ваш файл будет подключен и вы сможете пользоваться его классами/функциями.

В следующей статье я опишу на реальном примере как добавить новый функционал по обработке даты и чисел (штук, работ и т.д., что имеет количественное значение).

PS. Небольшое разъяснение.

Лучше всего и конечно правильнее, чтобы ваш you_class был более человекопонятным. Например:

  • palpalych — наша веб-студия;
  • belkod — ник разработчика;
  • date — имя класса, обозначающее с чем работает функционал класса;
  • helper — имя файла класса.
  • и наконец DateHelper это сам класс в файле helper.php.

В результате получаем:

jimport('palpalych.belkod.date.helper');

Используем данный функционал jimport в нужных местах проекта и получаем возможность обработки даты с помощью функций класса DateHelper.

Несколько сайтов на одном VPS: размещение для студии

Один сервер для нескольких проектов упрощает управление и может снизить расходы. Разбираем, как разделить сайты, посчитать полную стоимость размещения и выбрать момент для отдельного сервера.

VPS для October CMS: как выбрать сервер и подготовить его к работе

Для October CMS важны совместимые версии ПО, доступ к консоли и настройка окружения. Разбираем, с какой конфигурации начать проверку и что подготовить перед запуском сайта.

Где хранить резервные копии сайта, чтобы они пережили аварию

Архив есть. А получится ли из него вернуть сайт? Разбираем состав резервной копии, выбор хранилища и проверку, которая покажет, переживёт ли бэкап аварию сервера.

Атаки на дата-центры: как подготовить сайт к отказу площадки

Физическое повреждение дата-центра или взлом хостинга могут остановить сайт целиком. Разбираем независимое резервирование, доступы и план восстановления.

Последние кейсы
Посмотреть все проекты
Начать проект вместе с нами
Заполните форму и отправьте
нам сообщение!
Если у Вас возникли вопросы, предложения, либо Вы желаете оформить заявку на заказ услуги — Добро пожаловать!
Контакты:
Бронзовый партнер October CMS:
Бронзовый партнер October CMS