将自定义按钮添加到 dnn 的 2sxc 工具栏

Add custom button to 2sxc toolbar for dnn

将自定义按钮添加到工具栏的最简单方法是什么, 访问内容项? 我已经检查过: 但是因为已经定义的按钮无法删除,所以我喜欢制作自己的按钮。

目前还没有官方的方法可以做到这一点。这很容易,但由于不是官方的,它可能有一天会坏掉。

基本上所有的按钮都是从这里提供的:https://github.com/2sic/2sxc/blob/master/src/inpage/2sxc._actions.js

如您所见,有一个函数 sxc._actions.create 可以根据某物的含义获取所有可能的操作。所以你可以

  1. 覆盖 _actions.create
  2. 在您的模块特定的 2sxc 对象中 - $2sxc(moduleid) 给出的对象 - 您可以更改操作(但这在时间方面会很棘手)
  3. 在构建工具栏后更改包含所有按钮的
  4. 设置,以添加您的按钮
  5. 构建一个 "official" 方法来添加按钮并与核心团队同步以将其导入客户端-api
  6. 自己开发删除功能,这里的主要问题是你经常会得到一个"failed-because-in-use",在这种情况下你必须询问用户是否要强制删除它,并且如果是,发送第二个带有强制删除的 webapi-call。您可以在正常的 EAV 实体管理中看到这是如何完成的,因为这是使用 toastr
  7. 实现的

更新:2sxc 8.6 beta 已发布,支持在工具栏中添加自定义按钮。阅读 wiki 中的 API、JSON 定义。我将在几周内尝试在博客中介绍具体的步骤...