Обычно поля настроек модулей и плагинов идут столбиком - сверху вниз. Название поля находится слева, а само поле - справа. В вёрстке админки мы видим div.control-group, в котором находятся label и поле. Посмотрим как можно просто кастомизировать админку. Пригодится эта статья разработчикам расширений для Joomla.
Потихоньку по 15 минут по утрам делаю сайт нашего храма. Новости на главной оформил слайдером Swiper js. Последний слайд - ссылка на первую категорию из массива. Если не указана картинка в материале - используем картинку по умолчанию. CSS на Bootstrap 5: в шаблонах Helix, Astroid, Cassiopeia - должно работать сразу.
Казалось, это просто - бери и переопределяй в свой шаблон. Но некоторые вещи оказались совсем не очевидными. Найденное решение, если честно, кажется костыльным, но работает. Пока что опишу кратко, потом оформлю в статью.
Это своеобразный набор, комплекс запросов, которые обязательно должны быть выполнены именно друг за другом. Транзакции в SQL гарантируют, что все запросы, включённые в неё будут выполнены успешно или не один из них не будет выполнен вовсе.
Для этого перед началом выполнения запросов открывают транзакцию, потом пишут свои запросы, затем применяют их (COMMIT). В случае, если изменения делать не надо или возникли ошибки - делают откат изменений (rollback).
Над CMS Joomla постоянно ведётся работа: создаётся новый функционал, исправляются ошибки, делаются мелкие правки. Разработка ведётся на GitHub. Изменения оформляются в виде Pull Request (PR). Для того, чтобы изменения могли войти в ядро - их обязательно должны успешно протестировать минимум 2 человека КРОМЕ автора изменений. А помочь с большинством PR можно очень и очень быстро, это не занимает много времени, чему подтверждением служит это видео.
Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода getQuery(). Если передавался параметр $new = true, то получали новый запрос. Если без - последний.
Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.
Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.
Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей.