将自定义按钮添加到 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
可以根据某物的含义获取所有可能的操作。所以你可以
- 覆盖 _actions.create
- 在您的模块特定的 2sxc 对象中 - $2sxc(moduleid) 给出的对象 - 您可以更改操作(但这在时间方面会很棘手)
- 在构建工具栏后更改包含所有按钮的
- 设置,以添加您的按钮
- 构建一个 "official" 方法来添加按钮并与核心团队同步以将其导入客户端-api
- 自己开发删除功能,这里的主要问题是你经常会得到一个"failed-because-in-use",在这种情况下你必须询问用户是否要强制删除它,并且如果是,发送第二个带有强制删除的 webapi-call。您可以在正常的 EAV 实体管理中看到这是如何完成的,因为这是使用 toastr
实现的
更新:2sxc 8.6 beta 已发布,支持在工具栏中添加自定义按钮。阅读 wiki 中的 API、JSON 定义。我将在几周内尝试在博客中介绍具体的步骤...
将自定义按钮添加到工具栏的最简单方法是什么,
访问内容项?
我已经检查过:
目前还没有官方的方法可以做到这一点。这很容易,但由于不是官方的,它可能有一天会坏掉。
基本上所有的按钮都是从这里提供的:https://github.com/2sic/2sxc/blob/master/src/inpage/2sxc._actions.js
如您所见,有一个函数 sxc._actions.create
可以根据某物的含义获取所有可能的操作。所以你可以
- 覆盖 _actions.create
- 在您的模块特定的 2sxc 对象中 - $2sxc(moduleid) 给出的对象 - 您可以更改操作(但这在时间方面会很棘手)
- 在构建工具栏后更改包含所有按钮的
- 设置,以添加您的按钮
- 构建一个 "official" 方法来添加按钮并与核心团队同步以将其导入客户端-api
- 自己开发删除功能,这里的主要问题是你经常会得到一个"failed-because-in-use",在这种情况下你必须询问用户是否要强制删除它,并且如果是,发送第二个带有强制删除的 webapi-call。您可以在正常的 EAV 实体管理中看到这是如何完成的,因为这是使用 toastr 实现的
更新:2sxc 8.6 beta 已发布,支持在工具栏中添加自定义按钮。阅读 wiki 中的 API、JSON 定义。我将在几周内尝试在博客中介绍具体的步骤...