已开发和添加以下更改:
1. 我们添加了一个全新的系统来管理上传到服务器的文件和图像。因此,现在支持上传到网站的图像和文件的外部存储。您可以在管理面板的脚本设置中指定上传文件的存储位置。您可以将文件本地存储在服务器上,也可以选择外部 FTP 或 SFTP 服务器。您还可以选择 Amazon S3 或 Yandex.Cloud 等云服务。新的上传文件存储管理系统基于Flysystem 2.0统一文件系统。这使您可以在使用您选择的自定义外部存储时避免任何麻烦,因为现在您可以依赖插件系统而无需自定义大量 DataLife 引擎文件。添加新适配器后,DataLife Engine 将能够在需要时自动使用它。
2. 我们已经完全重新设计了用于发布物的图像和文件的上传管理器。新的管理器可以更轻松地查看上传的图像,它们在预览中的大小已经增加,并且选择上传的文件变得更加容易。删除所需的文件或图像变得更加容易。重新打开管理器是立即执行的,因为现在它只在页面上呈现一次,然后在后台保持其状态,以便使用 AJAX 技术执行所有进一步的操作。只要您使用发布物,您选择的用于上传图像的选项就会一直存在,并且不会在每次打开图像上传管理器时重置。
3.图片上传管理器已提供直接在上传管理器中预览全尺寸图像的功能。
4. 上传管理器以前用于定位要发布的图像的共享文件夹已移至名为“shared”的单独文件夹,位于 /uploads/。因此,共享图像现在位于单独的文件夹中。此外,在此共享文件夹中,您可以创建自己的任何嵌套级别的子文件夹。您还可以直接在上传管理器中切换到这些子文件夹并将图像插入到发布物中。通过这种方式,您可以轻松创建和组织共享图像库。
5. 在管理面板部分,您可以管理上传的图像,我们提供了选择您要管理的存储的功能。根据您的要求,您可以将图像上传到本地或外部存储。
6. 在管理面板部分,您可以管理上传的图像,我们提供了创建和删除文件夹及其嵌套子文件夹的功能。因此,您可以直接在 DataLife Engine 管理面板上管理您的图像,而无需通过 FTP 或其他方式访问您的文件存储。
7. 在管理面板部分,您可以自定义脚本设置,我们提供了启用或禁用外部存储选项的功能,用于上传用于发布的图像。因此,您可以在不同的存储位置分发用于特定内容类型的上传图像。启用此选项后,您无需将所有用于发布的图像保存到外部存储。
8. 在管理面板部分,您可以自定义脚本设置,我们提供了启用或禁用用于上传评论图像的外部存储选项的功能。因此,您可以启用用于上传新闻图像的外部存储选项,并为用于评论的图像禁用它。启用此选项后,您无需将所有用于评论的图像保存到外部存储。
9. 在管理面板部分,您可以自定义脚本设置,我们提供了启用或禁用用于上传静态页面图像的外部存储选项的功能。因此,您可以启用用于上传新闻图像的外部存储选项,并为用于静态页面的图像禁用它。启用此选项后,您无需将所有用于静态页面的图像保存到外部存储。
10. 在管理面板部分,您可以自定义脚本设置,我们提供了启用或禁用外部存储选项的功能,用于上传要下载的文件。因此,您可以启用用于上传图像的外部存储选项,并为其他文件禁用它。启用此选项后,您无需将所有要下载的文件保存到外部存储。
11. 在管理面板部分,您可以自定义脚本设置,我们提供了启用或禁用用于上传用户头像的外部存储选项的功能。因此,您可以启用用于上传图像的外部存储选项,并为用户头像禁用它(或其他方式)。
12. 我们添加了在通过 DataLife Engine 下载上传到服务器的文件时自动检测 MIME 文件类型(适用于所有文件类型)。这个
确保在不同类型的设备上正确下载和打开各种文件,从而确保设备支持的文件类型的正确行为。
13. 我们添加了对 PHP Imagick 库的支持,用于处理上传到服务器的图像。在管理面板部分,您可以自定义脚本设置,您可以选择是使用 Imagick 还是 GD2;或者,您可以允许 DataLife 引擎自动选择库。总的来说,GD2和Imagick的区别并不大。但是,Imagick 可以更快地对图像执行某些操作并创建质量更好的图像缩略图,并且在处理大图像时消耗更少的内存。
14. 我们添加了一个功能,可以将上传到服务器的所有图像自动转换为 WebP 格式。您可以在管理面板部分启用或禁用此功能,以便您自定义脚本设置。启用此选项后,上传到服务器的所有图像,无论其格式或扩展名如何,都将自动转换为 WebP 图像格式。这种格式更高级,允许您创建更小尺寸的更高质量的图像。但是,以这种格式显示图像需要用户拥有现代浏览器。
15. 我们添加了加载 BMP 格式图像的功能。加载此类图片时,它们会自动转换为 JPG 格式,以减小文件大小并加快站点页面的加载速度。
16. 如果指定的扩展名与格式不匹配,我们已为上传到服务器的图像文件提供了自动文件扩展名校正。例如,如果图像实际上支持 PNG 格式,但图像文件具有 JPG 扩展名,则上传的文件名将通过指定适当的 PNG 扩展名自动更改,类似的逻辑适用于所有其他格式。
17. 使用 TinyPNG 服务将图像上传到服务器进行图像处理后,对该服务的请求数量以及对其 API 的依赖显着减少。因此,当处理的图像数量有限时,您可以使用该服务处理更多图像。
18. 我们添加了使用 TinyPNG 服务处理 WebP 格式图像的功能。因此,您还可以在不降低质量的情况下尽可能地压缩这些图像。
19.我们添加了正确处理用户在网站上为其个人资料上传头像时可能发生的错误的正确处理,并且上传的图像具有无效的格式或内容。例如,如果文件内容未被识别为图像,则只会通知用户上传的头像格式不正确,而不是由于错误的操作引发系统错误,然后紧急关闭网站。
20. 管理面板部分中的“水印覆盖区域”选项可让您自定义脚本设置,已提供附加设置,允许您在图像中心定位水印。
21. 脚本设置中添加了一个新选项,使您可以指定水印类型。您可以从模板中选择图像,就像早期版本中的情况一样,或者根据脚本设置中指定的文本应用文本水印。在此部分的其他设置中,您可以指定所需的文本以及字体大小和颜色。在这种情况下,设置中指定的文本将用作水印,您不再需要创建不必要的水印图像。
22. 通过提供指定应用于图像的水印的旋转角度的功能,扩展了脚本设置。如果启用了显示,则旋转角度同时应用于图像水印和文本。
23. 通过提供指定应用于图像的水印的透明度的功能,扩展了脚本设置。如果启用了显示,则透明度会同时应用于图像水印和文本。
24. 处理上传到服务器的图像过程中的 RAM 消耗已显着减少。
25. 我们增加了对位于发布物中隐藏文本剧透中的延迟图像的支持。因此,当加载延迟图像启用时,图像内容在显示剧透时正确显示。
26. 我们改变了上传图片到服务器的算法。将任何图像上传到服务器后,带有时间戳的 UNIX 前缀不再添加到图像名称中,并且在所有情况下都会保留原始名称,但仅适用于西里尔名称的音译除外。但是,如果服务器上已经存在指定名称的图像,则会在新上传的图像名称中添加时间戳,以避免覆盖现有文件。因此,只要有可能,DataLife 引擎将保留上传图像的原始名称,并会自动添加广告
d 仅当出现重复名称时才使用必要的前缀。
27. 我们引入了在用户指定具有不同图像格式的新头像后自动从服务器中删除先前用户头像的功能。这可以节省服务器上的空间。
28. 我们提供了在查看跨站点发布物执行的搜索结果时显示来自用户配置文件的完整数据的功能。用于显示的模板标签与用于以短格式和完整格式输出发布物的模板标签相同。
29. 我们添加了一项功能,可以在查看跨站点发布物执行的搜索结果时,在以简短格式显示的新闻之间显示广告材料。
30. 用于以简短和完整格式显示新闻的模板(shortstory.tpl 和 fullstory.tpl)现在支持以下标签:[has-category] 文本 [/has-category]。如果发布物属于任何指定类别,将显示包含在这些标签中的文本。我们还添加了对以相反方式工作的标签的支持:[not-has-category] 文本 [/not-has-category]。如果发布物不属于任何类别,将显示包含在这些标签中的文本。这允许为已分配类别的发布物和不属于任何类别的发布物灵活定制模板外观。
31. 我们添加了在从网站上删除发布物时执行的自动检查,并随后删除为该发布物上传的图像,以查明这些图像是否在其他发布物中使用,在这种情况下,它们不会从服务器中删除。
32. 显着降低了在网站上查看短发布物时服务器上的负载。目前,在查看短刊时,无论其属于哪个网站版块,对应版块的总页数只计算一次,之后缓存该版块的页数信息,以便在访问其他页面或重复访问时,这些信息是从缓存中检索的,而不是像以前一样从每个页面的数据库中检索。通过这种方式,对 MySQL 数据库的请求数量显着减少。
33. 显着降低了查看网站上最后评论时服务器上的负载。目前,评论总页数只计算一次,之后会缓存相应版块的页数信息,以便在通过标准导航路径访问其他页面或重复访问同一页面时,信息是从缓存中检索的,而不是像以前那样从每个页面的数据库中检索。通过这种方式,对 MySQL 数据库的请求数量显着减少。
34. 我们设法减少了在查看短发布物时查看没有内容的网站页面时服务器的负载。在这种情况下,将避免对 MySQL 服务器的一些不必要的请求。
35. 对于 TinyMCE 可视化编辑器,我们引入了使用拖放操作在编辑器中加载图像时自动创建图像缩略图的功能。在此之后,如果脚本设置指示应该为此类图像创建缩略图,则图像和用于放大它的代码都将显示在编辑器中。
36. 在管理面板部分,您可以查看和编辑用户信息,我们提供了向用户发送个人消息和查看属于特定用户的所有发布物和评论的快捷方式。目前,在查看用户个人资料时,您可以快速执行上述操作,而无需切换到其他网站版块。
37. 对“分享有趣的内容”功能实现进行了更改。目前,要使用户能够共享来自特定项目的文本,您应该为该项目指定一个名为“share-content”的类。要排除此项内容的任何部分,请使用“ignore-select”类。通过这种方式,对于网站上的任何项目,您可以指定用户可以在突出显示文本时共享其内容的哪一部分。您可以指定多个允许内容共享的项目。使用此功能查看短发布物时,我们建议您为项目分配一个从新闻 ID 派生的唯一 ID:例如,将 id=”news-{news-id}” 添加到模板。这将使您能够在添加新发布物时正确维护发布物的下移方式。
38. 脚本设置中删除了以下选项:“允许用户分享有趣的内容”。如果在项目模板中指定了“share-content”CSS 类,则此选项现在会自动启用和禁用。
39. 对网站主页操作进行了更改,影响了静态页面或使用 {custom …} 标签的发布物被分配以在此页面上显示内容时的场景。以前,只有在以下情况下才能以这种方式指定网站主页
ts 浏览器中显示的 URL 不包含任何参数。在新版本中,与 DLE 无关的参数将被忽略,即使 URL 包含无关参数,也将正确显示分配的内容。因此,在跟随各种广告活动导航到您的网站或打开它并在其 URL 中添加额外标记以指示广告活动时,其内容将正确显示,而不会返回 404 错误。例如,通过 Yandex.Direct 或其他类似服务进行访问就是这种情况。此外,为防止出现重复页面,搜索引擎采用了插入网站页面代码中的规范链接系统。
40. 使用 {content} 标签和脚本逻辑的发布物显示已更改,因此附加标签 <div id=”dle-content”> … </div> 不再显示或用于包装外部内容。这使得模板与一些 HTML 框架的集成更容易。如果您的布局依赖于此标签,则应更改模板的 CSS 布局。
41. 在允许您编辑模板的管理面板部分中,我们引入了突出显示文件列表中已编辑模板文件的功能。这使得编辑过的文件看起来更清晰,并且可以更轻松地浏览模板文件列表。
42. 我们已确保在将创建的插件保存到您的计算机之前指定名称时,正确删除插件名称中的特殊字符。这确保了插件名称的更准确和有效的音译。
43. 为了将当前日期批量分配给发布物,发布物编辑部分已扩展为包括分配给每个先前新闻项目的日期的一秒偏移间隔。因此,连续的新闻在网站上显示时会被正确索引。
44. 在管理面板的图像管理部分,我们为要发布的上传图像添加了自动覆盖保护系统。如果图像已经存在于服务器上,用户将收到通知并提示更改上传图像的名称。
45. 对“上传的最小图像大小”设置的行为进行了更改。目前,此设置仅影响用于网站发布的上传图像。它不再影响管理面板上上传的头像和图像管理模块。
46、我们改进了部分网站操作场景的JS脚本后台加载。目前,如果这些JS脚本已经被浏览器缓存了,浏览器会使用缓存中的脚本,而不是重复从服务器上下载。
47. 我们已将 TinyMCE 可视化编辑器更新为当前版本。此版本具有用于处理表格的新工具和改进工具以及许多错误修复。还添加了对浏览器上下文菜单的支持。
48. 我们已将 DataLife 引擎中的 HTML Purifier 传入数据解析器更新为当前版本。文本发布支持一些新的 HTML 属性。
49. DataLife Engine 中包含的用于从网站发送电子邮件的 PHPMailer 库已更新到当前版本。
50. 已提高最低 PHP 要求以支持所有新功能。现在需要 PHP 7.2 或更高版本才能正确操作。
51. 我们更正了一个错误,该错误在以完整格式显示新闻时会导致管理面板中指定的广告材料的周转不正确。
52. 我们更正了使用 PHP 8.xx 时 GzipOut 函数不返回调试信息的错误。
53. 我们更正了一个错误,该错误会导致在执行 cron 作业时在某些情况下发生 MySQL 错误。
54. 我们还修复了一些之前检测到和报告的小脚本问题。
1 条回复
[…] 15.0 重大更新之一:支持FTP,SFTP等扩展存储。详情见《DataLife Engine v.15.0 最终版 功能更新列表》 […]