跳至主要内容

新功能

此版本中添加的所有新功能。最佳实践中的任何更改。

模型状态是一个新类

文件:libraries/src/MVC/Model/State.php 说明:模型的状态不再是CMSObject。取而代之的是,它是一个新的类 libraries/src/MVC/Model/State.php,它继承自Registry。状态注册表应该有的所有功能都在那里。该类本身已被弃用,因为只能使用注册表中的功能。在版本 7.0 中,我们将完全移除状态类,然后只使用注册表类。

为了向后兼容,状态类通过魔术方法支持直接属性访问,虽然使用时会抛出已弃用警告。

支持 ESM importmap

ESM 导入映射的支持提供了一种可能性,可以保持代码模块化、灵活,并允许使用现有的 ES 模块,并最大程度减少重新编译。有关如何将模块注册到 importmap 的详细信息,请在 Web Asset Manager 中查找使用 ESM 导入映射。

用于呈现模态框的 JoomlaDialog 脚本

用于呈现模态框和对话框的新 JoomlaDialog 模块。有关详细信息请查看Joomla 对话框(弹出窗口)脚本

PR:https://github.com/joomla/joomla-cms/pull/40150

系统事件拥有自己的类

现在每个系统事件都有自己的事件类,PR:https://github.com/joomla/joomla-cms/pull/40522。事件类允许从事件中检索活动应用程序表单

public function onAfterDispatch(Joomla\CMS\Event\Application\AfterDispatchEvent $event)
{
dump($event->getApplication()->getName());
}

内容事件具有自己的类

现在每个内容事件都有自己的事件类,PR:https://github.com/joomla/joomla-cms/pull/41226

用户事件

现在每个用户事件都有自己的事件类,PR:https://github.com/joomla/joomla-cms/pull/41317

事件onUserAuthenticate现在是一个真正的事件,PR:https://github.com/joomla/joomla-cms/pull/41485

发现器事件有自己的类

现在每个查找器事件都有自己的事件类,PR:https://github.com/joomla/joomla-cms/pull/41320

模块事件有自己的类

现在每个模块事件都有自己的事件类,PR:https://github.com/joomla/joomla-cms/pull/41413onAfterRenderModules现在应使用$event->getContent()$event->updateContent($content),而不是通过引用修改。引用仍然有效,但将来会被删除。

安装程序事件具有自己的类

现在每个安装程序事件都有自己的事件类,PR

隐私组件事件具有自己的类

隐私组件的每个事件现在都有自己的事件类,公关:https://github.com/joomla/joomla-cms/pull/41486

自定义字段事件具有自己的类

每个自定义字段事件现在都有自己的事件类,公关:https://github.com/joomla/joomla-cms/pull/41495

Actionlog、缓存、联系人、签入组件的事件具有自己的类

Actionlog、缓存、联系人、签入组件的每个事件都有自己的类,公关:https://github.com/joomla/joomla-cms/pull/41488

每个菜单事件现在都有自己的事件类,公关:https://github.com/joomla/joomla-cms/pull/41498

com_ajax 事件具有自己的类

com_ajax 事件现在有自己的事件类,公关:https://github.com/joomla/joomla-cms/pull/41524

新的插件事件

添加了从公共文件夹提供 Joomla 的选项

  • 该实例可以从公用文件夹(Joomla 根文件夹的子文件夹或其他文件夹)中提供服务。提供命令行工具,用于安装流程或在稍后的时间使用。要求:模板需要支持子模板mediaimages 文件夹中没有 PHP 文件,并且服务器允许定义提供文件夹的终点。

深色模式支持

Joomla 后端模板 - atum 现在支持浏览器深色主题,并且通过 CSS 媒体查询自动启用。在大多数情况下,简单地使用引导程序 5.3 的类将本地为您提供此支持。我们鼓励所有第三方扩展开发人员在深色模式下检查其扩展,并进行任何必要的微小调整,以便为其扩展提供一致的深色模式 UI。

通过 CSS 媒体查询支持深色模式的模板应将其 body 元素(对前端和后端模板)添加 data-color-scheme-os 属性,以便第三方扩展(例如与 Joomla 一起提供的编辑器插件)能够加载合适的深色主题。