Обновление до Joomla 3.10
Этот документ отслеживает обновления, реализованные в версии 3.10 для лучшей интеграции разработчиков расширений с Joomla! 4.
Добавлена поддержка языковых файлов без префиксов.
PR: https://github.com/joomla/joomla-cms/pull/19353
Этот PR добавляет поддержку непрефиксных языковых файлов в Joomla 3.10. Это означает, что теперь вы можете использовать как префиксные, так и непрефиксные языковые файлы так же, как вы можете это сделать в 4.0.
Пример (языковые файлы с префиксом)
/language/en-GB/en-GB.com_admin.ini /language/en-GB/en-GB.com_admin.sys.ini
Пример (языковые файлы без префиксов)
/language/en-GB/com_admin.ini /language/en-GB/com_admin.sys.ini
Переход поля коммутатора.
PR: https://github.com/joomla/joomla-cms/pull/30078
В версии 4.0 был реализован новый макет для радиокнопки. С этим изменением в 3.10 мы перенесли файл layoutfile, сохранив оригинальный макет, поэтому вы можете использовать одно и то же определение макета (`layout="joomla.form.field.radio.switcher"`) в 3.10 и 4.x
Пример
<field name="switchertest" type="radio" label="switcher test" class="btn-group btn-group-yesno" layout="joomla.form.field.radio.switcher" default="1" > <option value="1">JYES</option> <option value="0">JNO</option> </field>
Классы категорий Backport
PR: https://github.com/joomla/joomla-cms/pull/30346
Благодаря изменениям в этом PR вы теперь можете использовать одни и те же имена классов в 3.10 и 4.x. Пример его использования можно найти здесь: https://github.com/joomla/joomla-cms/pull/30346#issuecomment-685424752
Обработка таблицы _supportNullValue.
PR: https://github.com/joomla/joomla-cms/pull/30102
С этим изменением в классе Joomla\CMS\Table вы можете использовать опцию `$_supportNullValue` из 4.x, чтобы указать, что столбцы полностью поддерживают значение NULL в базе данных.
Подготовка 3.10 к версионированию контента 4.0.
PR: https://github.com/joomla/joomla-cms/pull/29584
Этот PR переносит несколько классов, необходимых для реализации версионности элементов содержимого в одном и том же коде для расширений в версиях 3.x и 4.0. Чтобы поддерживать версионность в стиле 3.x и 4.0, вам придется сначала реализовать версионность в стиле 3.x. Чтобы получить работу в стиле 4.0, просто позвольте вашему классу таблицы реализовать интерфейс VersionableTableInterface (и метод, который он определяет) и позвольте вашему контроллеру элементов и модели использовать соответствующий признак Versionable. В версии 3.x эти черты пусты, в версии 4.0 они содержат всю логику, необходимую для версионирования.