新功能
此版本中添加的所有新功能。最佳实践中的任何更改。
模型状态是一个新类
文件: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
新的插件事件
- 系统事件
onAfterInitialiseDocument
,允许在文档生命周期的早期访问文档实例,公关:https://github.com/joomla/joomla-cms/pull/40512
添加了从公共文件夹提供 Joomla 的选项
- 该实例可以从公用文件夹(Joomla 根文件夹的子文件夹或其他文件夹)中提供服务。提供命令行工具,用于安装流程或在稍后的时间使用。要求:模板需要支持
子模板
,media
和images
文件夹中没有 PHP 文件,并且服务器允许定义提供文件夹的终点。
深色模式支持
Joomla 后端模板 - atum 现在支持浏览器深色主题,并且通过 CSS 媒体查询自动启用。在大多数情况下,简单地使用引导程序 5.3 的类将本地为您提供此支持。我们鼓励所有第三方扩展开发人员在深色模式下检查其扩展,并进行任何必要的微小调整,以便为其扩展提供一致的深色模式 UI。
通过 CSS 媒体查询支持深色模式的模板应将其 body 元素(对前端和后端模板)添加 data-color-scheme-os
属性,以便第三方扩展(例如与 Joomla 一起提供的编辑器插件)能够加载合适的深色主题。