Плагины совместимости в Joomla: как включить Legacy Mode

xobot 17 сентября 2009 2 мин 71704 просмотров

При обновлении Joomla расширения, написанные для старых версий, могут перестать работать — они используют устаревшие API, которые удалены в новых версиях. Для таких случаев в Joomla существуют плагины совместимости (Legacy Mode). Они восстанавливают поддержку старых API и дают разработчикам расширений время обновить код. В Joomla 1.5 это был плагин System - Legacy, в Joomla 4, 5 и 6 — аналогичные плагины совместимости для каждого поколения.

Зачем нужен плагин совместимости

При каждом мажорном релизе Joomla часть старых функций и классов объявляется устаревшими (deprecated) и в следующей мажорной версии удаляется. Плагин совместимости «возвращает» эти функции через слой эмуляции, чтобы старые расширения продолжали работать без изменения кода.

Важно: плагины совместимости — временное решение. Они снижают производительность и не гарантируют полную совместимость. Правильный путь — обновить расширение до версии, поддерживающей вашу версию Joomla, или заменить его аналогом.

Joomla 4 — плагин совместимости с Joomla 3

В Joomla 4 включён плагин System - Joomla! 3 Content Plugins Compatibility. Он позволяет работать контент-плагинам, написанным для Joomla 3, которые используют старые события (onBeforeDisplayContent, onAfterDisplayContent и др.).

Как включить:

  1. Откройте Система → Плагины
  2. Найдите плагин System - Joomla! 3 Content Plugins Compatibility
  3. Включите его и сохраните

Joomla 5 — плагин совместимости с Joomla 4

В Joomla 5 аналогичный плагин обеспечивает совместимость с расширениями для Joomla 4, использующими устаревшие API.

Как включить:

  1. Откройте Система → Плагины
  2. В строке поиска введите compatibility или backward
  3. Найдите плагин совместимости и включите его
  4. Сохраните и проверьте работу расширения

Joomla 6 — плагин совместимости с Joomla 5

По той же схеме: Joomla 6 поставляется с плагином совместимости для расширений под Joomla 5. Найти его можно в том же разделе — Система → Плагины, поиск по compatibility.

Историческая справка: Legacy Mode в Joomla 1.5

Концепция плагина совместимости появилась ещё в Joomla 1.5 — тогда он назывался System - Legacy и обеспечивал работу расширений для Joomla 1.0. Включался через Расширения → Менеджер плагинов → System - Legacy → Опубликовать. Этот подход стал стандартным для всех последующих мажорных версий Joomla.

Если плагин совместимости не помогает

Не все несовместимости решаются плагином — он покрывает только определённый набор устаревших API. Если расширение всё равно не работает:

  • Проверьте наличие обновлённой версии расширения на сайте разработчика
  • Поищите альтернативное расширение с аналогичным функционалом
  • Обратитесь к разработчику расширения — возможно, обновление уже в работе
  • Проверьте JED (Joomla Extensions Directory) — там есть фильтр по совместимости с версией Joomla
Назад На главную