在magnolia中使用自定义命令类和对话框的自定义操作
我希望在pages应用程序上有一个自定义操作,该操作打开一个对话框,其中一个字段用于注释和两个操作,即在magnolia中使用自定义命令类和对话框的自定义操作,magnolia,Magnolia,我希望在pages应用程序上有一个自定义操作,该操作打开一个对话框,其中一个字段用于注释和两个操作,即cancel和commit。提交操作调用自定义ExportToGitCommand类 我在magnolia中为pages应用程序定义了自定义动作定义和集体动作: public class ExportToGitCommandAction extends AbstractCommandAction<ExportToGitCommandActionDefinition>{ pu
cancel
和commit
。提交操作调用自定义ExportToGitCommand类
我在magnolia中为pages应用程序定义了自定义动作定义和集体动作:
public class ExportToGitCommandAction extends AbstractCommandAction<ExportToGitCommandActionDefinition>{
public ExportToGitCommandAction(ExportToGitCommandActionDefinition definition, JcrItemAdapter item,
CommandsManager commandsManager, UiContext uiContext, SimpleTranslator i18n) {
super(definition, item, commandsManager, uiContext, i18n);
// TODO Auto-generated constructor stub
}
public ExportToGitCommandAction(ExportToGitCommandActionDefinition definition, List<JcrItemAdapter> items,
CommandsManager commandsManager, UiContext uiContext, SimpleTranslator i18n) {
super(definition, items, commandsManager, uiContext, i18n);
// TODO Auto-generated constructor stub
}
}
调用了ExportToGitCommandAction
中的构造函数,但未调用myAction
中的对话框和命令。我需要实现哪些方法才能使myAction
:
public class ExportToGitCommandActionDefinition extends CommandActionDefinition{
public ExportToGitCommandActionDefinition() {
this.setImplementationClass(ExportToGitCommandAction.class);
}
gitexport
code为:
public class ExportToGitCommand extends BaseRepositoryCommand {
@Override
public boolean execute(Context context) throws Exception {
//custom code here
}
}
解决方案的一部分
在pages应用程序下,我使用以下配置创建了一个操作:
MyAction
class ->i nfo.magnolia.ui.framework.action.OpenCreateDialogActionDefinition
dialogName -> xxx-module-versioning:gitexport
icon -> icon-i-beacon
label -> MyAction
在xxx模块版本控制应用程序下,我配置了对话框:
xxx-module-versioning
commands
dialogs
gitexport
form
actions
我认为你对自己行为的定义有误。您需要在目录中指定命令的“名称”,而不是它的路径。如果目录名不同于“默认值”,则需要指定目录名 试试这个:
MyAction
class ->ch.xxx.module.versioning.ExportToGitCommandActionDefinition
command -> gitexport
catalog -> versioning
dialogName -> /modules/xxx-module-versioning/dialogs/saveversion
这是一个可行的解决方案。 在magnolia配置中的magnolia pages应用程序中,配置自定义操作: 在dialogName下定义的相应模块中,定义对话框: 自定义类扩展了
CommandActionDefinition
:
public class ExportToGitCommandActionDefinition extends CommandActionDefinition{
public ExportToGitCommandActionDefinition() {
this.setImplementationClass(ExportToGitCommandAction.class);
}
你好@Jan。谢谢你的回复,但不幸的是,这不起作用。我想实现的是,pages应用程序上的自定义操作打开一个对话框,其中一个字段用于评论,另一个字段用于两个操作,即取消和提交。提交操作调用自定义ExportToGitCommand类。推荐的实施方法是什么?