В Joomla есть понятие layout. Это кусочек вёрстки, который можно многажды использовать в любом месте сайта: как в панели администратора, так и во фронтенде. Можно рассматривать лейауты как оторванные от контекста элементы дизайна. Находятся они в папке layouts в корне сайта. Как их использовать? Один из вариантов - использование LayoutHelper.
Нередко расширения Joomla в готовом виде состоят из пакета - комплекта плагинов, модулей, библиотек. Расширения из одного пакета могут нуждаться в одном и том же методе и раньше было несколько путей:
копировать код везде (выкидываем принцип DRY - don't repeat yourself)
делать простой трейт в одном плагине и обращаться к нему (в Joomla 3 так обычно не делали)
делать библиотеку отдельным расширением пакета. Но как-то странно так заморачиваться ради одного метода
Разработчикам при обновлении расширений на архитектуру Joomla 4 / Joomla 5 нередко не сразу удаётся найти аналоги устаревших методов ядра. Особенно, если под рукой нет современной среды разработки (IDE), например PHP Storm, который подсказывает нужные методы ядра Joomla. Без него, конечно, разработка для Joomla становится непростым делом. В этой статье вы найдете табличку соответствия старых и новых названий PHP классов ядра Joomla и её расширений для того, чтобы быстрее и легче было обновить свои расширения. Эти классы пока что можно использовать в случае, если включён плагин обратной совместимости Joomla 4 / Joomla 5. Но в Joomla 6 или последующих версиях он может быть удалён.
Интересный случай предложения партнёрства случился недавно с одним из моих клиентов. Речь здесь пойдёт не о каких-то непонятных плагинах и модулях, а о том, как нужно быть внимательным и смотреть в будущее, чтобы со временем не потерять свой бизнес частично или целиком.
С помощью материалов Joomla на сайте можно сделать не только контентный сайт-статейник или новостник, но каталог, простую доску объявлений и т.д. Начиная примерно года с 2016 очень много трафика из поисковиков уходит в соц.сети, стриминговые платформы, мессенджеры. Много контента стало создаваться напрямую в интерфейсе, например, Telegram. И в связи с этим встаёт вопрос об автоматическом наполнении сайта контентом из соц.сетей и мессенджеров. Для этого как раз и нужно знать как создавать материалы в Joomla 4 / Joomla 5 и старше программным способом.
На основе данных из $_GET, $_POST порой строится логика работы кода начиная от шаблона Joomla и кончая модулями и плагинами. Для работы с этими данными используется объект Input, который мы получаем из Приложения Joomla.
Зачастую мы не задумываемся о том, что значат цифры в версиях Joomla или сторонних расширений, с помощью которых мы превращаем нашу Joomla в полноценный звездолёт. Почему их 3, по какому принципу они изменяются, что означают и как это использовать в своей работе.