InstantCMS 2.16.0 发布更新日志

终于,我们发布了新版本,赶紧通知您!和往常一样,很多工作已经完成,一切都井然有序。

多种语言

现在多语言的所有功能都在引擎中。可用的语言列在您的 /system/languages/ 目录中。默认为俄语和英语。除了常量(语言文件)中的短语之外,您还可以翻译任何界面元素:菜单、活动提要、类别、内容字段等。此外,还提供了多语言用户内容的可能性。顺便说一句,搜索也是根据当前语言进行搜索。

为了不让新闻变得过大,我们准备了文档,一般来说,一切都很简单。我想强调的最重要的一点是,您需要提前决定网站的主要语言,并且以后不要更改。

不使用 FTP 安装附加组件

现在,在安装附加组件时,引擎会检查附加组件文件树。如果文件和目录路径的权限允许,则 InstantCMS 将不会请求 FTP 详细信息并立即安装该附加组件。否则,如果没有对至少一个文件的写访问权限,则引擎将像以前一样请求 FTP 详细信息。这是很多CMS(包括WP)的经典方案。因此,我希望安装附加组件的问题最终能够解决。

不再支持默认模板

在这个阶段,我们正在谈论他的管理面板。对于现在已在管理面板中启用它的用户,将会出现一条信息性消息,其中包含用于切换到 CoreUi 的按钮。维持两个管理员而不前进就太成问题了。对于那些为网站本身启用了该模板的人来说,该模板将继续有效。默认模板的衍生版本也将继续有效。但后来“开箱即用”我们会拒绝它。

数据网格(数据表)

我们完全重写了该机制。VueJS 现在用于在浏览器中呈现此类表格。在PHP方面,我们编写了一个新的单独的类,从而摆脱了cmsController和cmsTemplate中的一些代码。同时,通过$grid = $controller->loadDataGrid('grid_name') 的连接机制保持不变,唯一的区别是 - 该方法现在返回 cmsGrid 对象而不是数组。在 99% 的情况下,一切都会像以前一样工作,但是,那些将$grid作为数组使用的开发人员应该改变工作逻辑。一般来说,我们建议对网格操作使用现成的特征- 它用于引擎中的所有此类表。可以看到一个简单用法的例子,例如,这里,这里有一个更复杂的例子。这一特性大大缩短了开发时间。在简单的情况下,您需要创建一个网格描述文件和一个操作,您可以在其中指定描述文件的名称和您正在使用的表。该特质可以完成所需的一切。有关此主题的文档部分也已更新。

管理面板

我们在管理面板上做了很多工作(我们正在谈论 CoreUi)。从视觉上的变化来看,它现在变得更加平滑,不会“跳跃”任何东西,总的来说,它使用起来变得更加愉快。

PHP 版本

InstantCMS 工作所需的最低 PHP 版本现在是 7.0。这是因为从这个版本开始,出现了很多方便的东西来简化开发。

此外,在此版本中,我们修复了所有注释和其他细微差别,以便在 PHP8+ 上工作。截至发布日期,我们尚未发现 PHP 8.2 存在任何问题。

重构

我们做了很多工作(而且大多数人可能很难注意到)来简化代码、提高可读性、添加 phpdocs、消除不必要的重复代码块。换句话说,我们试图让 InstantCMS 开发人员的生活变得更好;-) 现在许多日常工作可以更快地完成。

添加/改进了典型的通用特征:

  • 操作控制器\actions\deleteItem - 从数据库中删除记录。一个例子在这里
  • controllers\actions\formFieldItem 用于在内容类型/配置文件/表单构建器中添加/编辑字段的操作。一个例子在这里
  • 操作控制器\actions\formItem 用于从数据库添加/编辑记录。一个例子在这里
  • 数据网格的controllers\actions\listgrid 操作。一个例子在这里
  • controllers\models\transactable 用于模型中的 Mysql 事务。一个例子在这里
  • eventDispatcher 是事件的通用特征。一个例子在这里
  • 一个通用特征,用于保证对象方法的执行一次。这里有一个例子。

添加了用于处理配置的通用类。那些。/system/config/ 目录中的 PHP 文件返回一个数组。cmsConfig 类现在是从它派生的。包含 MIME 类型和时区列表的文件也已移至 /system/config/ 目录。

其他变化

  • 如果MySQL版本支持,那么CMS安装程序将在InnoDB中创建所有表,不排除那些具有全文索引的表;
  • 添加了从管理面板编辑活动源短语的功能,包括不同语言的功能;
  • 内容类别现在可以编辑,包括从管理面板编辑;
  • 考虑到属于多个类别,正确传输管理面板中某个类别的条目;
  • 通过复制现有内容类型字段以及设置来创建内容类型字段;
  • 对于内容列表小部件,您可以在设置中指定要应用的挂钩(对于高级用户);
  • 添加了显示内容类型条目的观看次数的权限;
  • 添加了为 InstantCMS 发送的所有电子邮件指定通用包装模板的功能。例如,该网站已经使用它。这是在“消息、通知、电子邮件”组件的设置中完成的;
  • 添加了显示注册日期、上次访问和用户组的访问权限;
  • 添加了禁止在内容类型的形式中显示字段名称的功能;
  • 添加了显示文本字段占位符的选项;
  • 添加了“表单中的 HTML 块”字段;
  • 对于 Modern 模板,添加了“body 标记的其他 CSS 类”选项;
  • 对于“数字”字段,添加了“输入字段类型”选项(默认文本);
  • 对于“图像”字段,添加了“将图像显示为滑块”选项;
  • SCSSPHP库已更新至最新版本;
  • Mobile Detect库更新至最新版本;
  • 删除了各种菜单的光滑滑块。移动设备上的滚动是原生的;
  • 现在可以复制模板图标代码以粘贴到 PHP 代码中并供简码使用;
  • JqueryInputmask已更新至当前版本;
  • jQuery 和 jQuery UI 更新到最新版本;
  • Bootstrap更新至4.6.2版本;
  • 对于 Modern 模板,一般来说,您可以在settings 的head 块中指定任意标签。

如何安装 InstantCMS 更新

重要的!在安装更新之前,请确保第三方附加组件支持新版本的 InstantCMS!确保您当前使用的是版本 2.15.2,否则请先升级到该版本。

订阅评论
提醒
guest的头像

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x