- Просмотров: 10
Казалось, это просто - бери и переопределяй в свой шаблон. Но некоторые вещи оказались совсем не очевидными. Найденное решение, если честно, кажется костыльным, но работает. Пока что опишу кратко, потом оформлю в статью.
Казалось, это просто - бери и переопределяй в свой шаблон. Но некоторые вещи оказались совсем не очевидными. Найденное решение, если честно, кажется костыльным, но работает. Пока что опишу кратко, потом оформлю в статью.
Это своеобразный набор, комплекс запросов, которые обязательно должны быть выполнены именно друг за другом. Транзакции в 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. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей.
Сел немного формализовать свои процессы и написать шпаргалку: что же нужно установить на Joomla в самом начале? Получился вот такой список.
Вообще, тема брендирования - она не про то, чтобы просто повесить свой логотип и ссылку куда-нибудь. Она про самоосознанность, самоидентификацию и позиционирование. А уже одним и, далеко не самым важным, проявлением этого становится свой логотип и ссылка в расширениях.