DataLife Engine v.19.0 最终版

已制定并添加了以下更改:
1. 网站页面新增了一套全新的 URL 处理系统。地址本身并未改变,因此不会影响搜索引擎的索引和排名。但内部处理 URL 的方式已发生彻底改变。现在所有规则都由 DataLife Engine 直接处理,而非服务器软件。因此,URL 功能不再需要庞大的 .htaccess 文件,只需添加一些基本配置即可。此外,我们还为基于 Nginx 的服务器(不使用 Apache)提供官方支持;我们将另行提供一份指南,说明如何在配置中添加必要的配置项以使其正常工作。大多数情况下,无需添加任何内容,例如,在使用 ISPManager 时,只需为域名启用相应的选项即可。
2. DataLife Engine 控制面板新增了一个版块,您可以在这里根据需要管理所有 SEO 友好的 URL 规则,并创建您喜欢的出版物和网站版块的地址外观。您可以直接在控制面板中更改所有规则,包括编辑现有规则和添加新规则。此版块还支持检查规则的正确性。DataLife Engine 文档将提供有关如何使用此版块的更多详细信息。此外,如果您操作失误且不确定如何修复,可以快速恢复到默认值。您可以重置单个规则或一次性重置所有规则。但是,请务必格外小心,因为此版块需要一定的经验和对操作的理解。您还应该了解,如果页面已被搜索引擎索引,更改网站上的链接外观会导致这些页面暂时从搜索索引中消失,直到搜索引擎重新索引网站,这会降低网站在搜索系统中的排名。
3. 我们已对 DataLife Engine 文件进行了全局内部结构重组。现在,所有静态文件(样式、脚本、图像)都已从 /engine/ 文件夹移至单独的 /public/ 文件夹。这使得脚本文件的内部结构更加清晰、逻辑性更强。同时,也能够更可靠地控制可执行文件与外部访问的隔离。/engine/ 文件夹已完全与外部世界隔离,浏览器无法直接访问,现在唯一的入口点是位于网站根目录的文件(index.php、admin.php)。所有 AJAX 请求也都通过这些文件。如果您使用的第三方插件需要浏览器直接访问 /engine/ 文件夹中的任何文件,则需要对这些插件进行相应的调整。
4. 出版物附加字段管理系统已完全重写。系统中的附加字段信息已转换为 JSON 存储格式,这使得在使用插件时更容易扩展系统。数据结构更加清晰易懂,也更易于扩展。管理面板中用于管理附加字段的部分已完全重写,以支持新的存储格式。字段处理已移至单独的类中,这显著减少了代码量。通过插件系统修改附加字段时,无需修改大量文件,从而简化了代码维护。脚本更新时,系统中现有的附加字段将自动转换为新格式。

5. 新增了对其他发布字段的分区支持。您可以在控制面板中创建用于放置其他字段的分区。在控制面板中添加或编辑发布内容时,这些分区会显示在单独的标签页中,您的其他字段就位于这些标签页中。因此,即使添加了大量其他字段,您也可以更方便地组织添加和编辑发布内容的结构,从而更轻松地进行浏览。
6. 对于其他发布字段,新增了在添加和编辑发布内容时快速复制该字段标签到剪贴板的功能(前提是该标签允许直接插入到发布内容正文中)。这样,在撰写发布内容时,您可以快速将标签插入到新闻中,而无需手动输入。
7. 当使用 {xfields} 标签在网站添加出版物的模板(addnews.tpl) 中显示其他字段时,该标签的布局已更改为使用 <div> 标签而非表格。因此,如有必要,请检查并修改模板布局,以确保字段显示正确。
8. 新增了对新增或编辑的新闻稿预览期间所有标签及附加字段标签组合的支持。此外,还新增了对直接插入新闻文本的附加字段的输出标签预览的支持。因此,预览内容与发布后网站上的实际显示内容完全一致。
9. 对于相关新闻输出模板(related.tpl),已添加对显示直接添加到新闻文本中的附加字段的支持,前提是字段设置中允许在文本中添加此类字段。
10. 对于流行的新闻输出模板(topnews.tpl),已添加对显示直接添加到新闻文本中的附加字段的支持,前提是字段设置中允许在文本中添加此类字段。
11. 用户个人资料附加字段的管理系统已完全重写。系统中的附加字段信息已转换为 JSON 存储格式,这使得在使用插件时系统更容易扩展。数据结构更加清晰易懂,也更便于扩展。管理面板中用于管理附加字段的部分已完全重写,以支持新的存储格式。字段处理已切换到使用单独的类,这显著减少了代码量,并且在通过插件系统修改附加字段时,无需修改大量文件,从而简化了代码维护。脚本更新时,系统中现有的附加字段将自动转换为新格式。
12. 当在网站用户个人资料输出模板或用户注册模板(userinfo.tpl、registration.tpl)中使用{xfields}标签显示其他个人资料字段时,该标签的布局已更改为使用 <div> 标签而非表格。因此,如有必要,请检查并调整模板布局,以确保字段正确显示。
13. 用户个人资料中新增了一种名为“切换‘是’或‘否’”(复选框)的附加字段。该字段在用户个人资料中以“是”或“否”(启用或禁用)的切换开关形式显示。其值根据用户在个人资料中的设置而定,为“是”或“否”。然而,该字段的主要用途是管理[xfgiven_X] 文本 [/xfgiven_X]和[xfnotgiven_X] 文本 [/xfnotgiven_X]标签。如果启用此切换开关,则会显示[xfgiven_X] 文本 [/xfgiven_X]标签对应的文本;如果禁用此切换开关,则会隐藏[xfnotgiven_X] 文本 [/xfnotgiven_X]标签对应的文本,反之亦然。因此,借助这些附加字段,您可以轻松管理网站模板中显示的信息。例如,启用或禁用个人资料或评论中某些信息的显示。
14. 用户个人资料中新增了“日期和时间”字段。您可以在此字段中添加日期和时间,为了方便填写,填写时会弹出日历。此字段提供三种输入格式:日期和时间、仅日期和仅时间。您还可以在字段设置中根据需要设置指定日期的输出格式。此外,此字段还提供了一些额外选项,例如是否在输出时对日期进行本地化(例如将其翻译成您网站使用的语言),以及是否允许拒绝所选日期。
15. 用户个人资料模板以及评论、私信、用户卡片(userinfo.tpl、comments.tpl、pm.tpl、profile_popup.tpl)的输出中,新增了对标签[xfvalue_X format="Format"]的支持。该标签用于显示类型为“日期和时间”的附加字段,其中 X 为附加字段的名称,“Format” 为字段中指定的日期和时间的显示格式。您可以以不同的日期和时间格式显示此附加字段,而不仅仅是字段设置中指定的默认格式。例如,标签[xfvalue_test format="j FYH:i"]会以 j FYH:i 时间格式显示字段中指定的日期和时间。
16. 用户个人资料模板以及用于显示评论、私信和用户卡片(userinfo.tpl、comments.tpl、pm.tpl、profile_popup.tpl)的模板新增了对`[ifxfset fields="X"] text [/ifxfset]`标签的支持。如果用户个人资料中设置并填写了名为 X 的附加字段,则会输出标签内包含的文本。您可以列出多个字段名称,并用逗号分隔。例如,`[ifxfset fields="test1,test2"] both fields named test1 and test2 are filled[/ifxfset]`将显示两个字段都已填写时的文本。此外,还新增了`[ifxfnotset fields="X"] text [/ifxfnotset]`标签。如果未设置并填写名为 X 的字段,则会输出标签内包含的文本。您也可以列出多个字段名称,并用逗号分隔。例如,`[ifxfnotset fields="test1,test2"]名为 test1 和 test2 的字段均未填写[/ifxfnotset]`将显示该文本,以表明这两个字段均未填写。与现有标签 `[xfgiven_x]` 和 `[xfnotgiven_x]` 的主要区别在于,您可以一次列出多个字段,并且系统会同时检查所有列出字段的完整性,尤其会检查没有值的字段;例如,如果某个字段的值设置为“0”或“no”,则该字段也被视为已填写。
17. 对于短篇和完整新闻模板(shortstory.tpl 和 fullstory.tpl),新增了对标签[ifprofilexfset fields="X"] text [/ifprofilexfset]的支持。如果作者个人资料中名为 X 的附加字段已设置并填写,则会显示标签内包含的文本。您可以列出多个字段名称,并用逗号分隔。例如,[ifprofilexfset fields="test1,test2"] 名为 test1 和 test2 的字段均已填写[/ifprofilexfset]将显示两个字段均已填写时的文本。此外,还新增了标签[ifprofilexfnotset fields="X"] text [/ifprofilexfnotset]。如果名为 X 的字段未设置并填写,则会显示标签内包含的文本。您也可以列出多个字段名称,并用逗号分隔。例如,[ifprofilexfnotset fields="test1,test2"]名为 test1 和 test2 的字段均未填写[/ifprofilexfnotset]将输出文本,如果两个字段都未填写。
18. 已开展工作以优化输出附加字段的处理,旨在提高性能并降低服务器负载。
19. DataLife Engine 控制面板中的词项筛选管理系统已完全重写。系统中可用筛选器的信息已转换为 JSON 存储格式,这使得在使用插件时更容易扩展系统。数据结构也变得更加清晰易懂,并且可以通过插件系统和其他第三方扩展轻松扩展。
20. 增加了将本地计算机上的文件夹中的文件拖放到编辑器中上传图片进行评论的功能。
21. 新增了一次性上传多张图片的功能,用户可以直接将本地计算机上文件夹中的文件拖放到编辑器中。此前,用户只能从移动的多张图片中上传一张。
22. 本网站已全面支持 RFC 6531 SMTPUTF8 标准,用于处理用户电子邮件。这意味着支持电子邮件地址中的国际名称以及国际域名。例如,用户可以使用 vladimir@site.rf 之类的电子邮件地址。此外,还支持 mc'donalds@example.com 等电子邮件地址。要正确向使用国际域名的用户发送电子邮件,您的服务器软件也必须完全支持 RFC 6531 标准,只需使用最新版本的服务器软件即可。
23. URL 控制系统新增了对不存在的分类的检测功能,用于处理错误链接。如果使用了错误的地址且无法与任何实际分类匹配,系统将自动重定向到网站首页。这项创新有助于避免在为网站不同版块创建不同模板布局时,模板标签的复杂设置。
24. 新增了在模板管理部分创建扩展名为 css、js 和 tpl 的文件的功能。您还可以在此部分中,无需 FTP 访问权限,即可在所选模板的任何子文件夹中创建这些文件。
25. 新增了在管理面板中编辑选定模板时直接删除不必要的模板文件的功能,无需 FTP 访问权限。
26. 新增了在编辑模板时将模板文件从一个子文件夹移动到另一个子文件夹的功能。您可以在控制面板中编辑模板时移动模板内的文件,而无需 FTP 访问权限。
27. 新增了在控制面板中直接编辑模板时创建文件夹的功能。您无需FTP访问权限,即可在控制面板中编辑模板时创建嵌套文件夹和子文件夹。
28. 新增了对受国家/地区限制查看的出版物的查看功能,但仅限已列入受保护名单的用户组查看。例如,如果一篇新闻文章在德国被限制查看,而管理员组被列入不受国家/地区限制的名单,那么即使管理员身处被限制的国家/地区,也能看到该出版物。
29. 类似的机制也适用于广告素材中的限制设置。如果针对特定国家/地区设置了限制或权限,即使用户身处被设置屏蔽的国家/地区,受保护群组中的用户仍然可以看到相关内容。
30. 当用户点击网站上的登录信息时,如果该用户尚未注册(例如,已被删除),则不会显示显示“找不到该用户”信息的卡片,而是显示一条简短的推送通知,说明该用户未注册。这样,访客无需执行任何额外操作即可关闭窗口,而且通知更快捷、更易于理解。
31. 对于自定义发布输出标签 {customcomments …},新增了使用新参数name="X" 的功能。您可以使用该参数为区块指定名称,并随后根据区块内容(例如是否为空)在模板中显示或隐藏不同的样式。例如,编写{customcomments name="block1" category="6"}将显示来自分类 ID 6 的评论,并且区块本身将被命名为“block1”。新增了与此名称配合使用的全局标签:[customcomments=X] Text [/customcomments],其中 X 为区块名称。如果具有该名称的区块包含信息,则输出包含的文本。此外,还新增了相反的标签[not-customcomments=X] Text [/not-customcomments],如果具有该名称的区块不包含任何信息且没有发布,则输出包含的文本。通过这种方式,您可以根据区块中是否有评论来添加或隐藏额外的外部样式。例如,[customcomments=block1] Header {customcomments name="block1" category="6"} [/customcomments]。该区块本身可以位于页面上的任何位置,不一定非要位于这些标签内。这样,您可以根据这些标签调整和更改模板中的其他样式。
32. 新增了源代码示例高亮显示系统。该系统与编辑器中使用的系统类似,体积约为旧系统的一半,从而加快了页面加载速度和高亮显示编译速度。此外,高亮显示的内容更加丰富多样,质量也更高。
33. 新增了一键复制已发布代码示例到剪贴板的功能。这使用户能够轻松复制网站上发布的代码示例。
34. 在使用 AJAX 操作(例如浏览评论页面、添加和编辑评论)时,新增了源代码示例的自动高亮显示功能。现在,无需重新加载页面即可自动高亮显示代码。
35. 在 DataLife Engine 控制面板中编辑用户个人资料时,新增了快速导航到网站查看其个人资料的功能。
36. 在网站上启用多类别支持时,新增了在智能手机使用控制面板时,在管理面板中选择发布类别顺序的功能。
37. 新增了对网站启用和使用新版 jQuery 4 库的支持。您可以在脚本设置中选择该库。在此之前,请确保模板中使用的所有第三方插件都与此新行兼容。此外,jQuery UI 库已统一并更新至最新版本,现在无论在设置中选择哪个 jQuery 版本,都将使用同一个 jQuery UI 库。
38. 控制面板多个部分的元素排序系统经过重新设计和改进。使用鼠标操作时,排序变得更加流畅和精确。
39. 使用图形表情符号时,表情符号的插入现在直接以表情符号图像的形式进行,而不是通过其代码进行。
40. 新增了在控制面板中添加和编辑文章时更改分类顺序的功能,只需用鼠标在列表中拖放分类即可。现在无需完全删除选定的分类即可更改其在新闻中的顺序。
41. 脚本中已移除使用 PHP 压缩 JS 和 CSS 文件的功能。此功能已整体过时,在当前环境下使用 PHP 效率低下。对于静态文件的压缩,我们建议使用服务器端方法(例如 Nginx)启用文件压缩。这种方法效率更高、速度更快,并且显著减少了服务器资源的消耗。
42. 可视化编辑器已更新至最新的 8.x 版本。性能得到提升,并修复了许多问题和错误。
43. 网站页面上的许多动画都经过优化,以确保对用户操作的更快响应和各种操作的更快执行。
44.在编辑出版物的源代码并将其粘贴回编辑器后,光标位置确定系统得到了改进。
45. 修复了C 和 C# 系列语言的代码高亮显示不显示的问题。
46. 修复了如果指定了禁止国家/地区列表而不是允许国家/地区列表,则无法应用国家/地区访问阻止的组保护的问题。
47. 修复了当出版物处于禁用类别时,尝试在控制面板中编辑新闻项目时编辑器不显示的问题。
48. 修复了从剪贴板插入代码块时,从一个带有编辑器的字段复制到另一个带有编辑器的字段时无法正常工作的问题。
49. 修复了当某个用户组被禁止查看任何类别时,显示所有最新评论的功能无法正常工作的问题。
50. 修复了之前发现并报告的脚本中的一些小错误。
相关新闻:
