gpt4 book ai didi

c# - Sitecore 命令模板中的执行方法不会触发

转载 作者:行者123 更新时间:2023-11-30 13:00:36 26 4
gpt4 key购买 nike

这是我第一次尝试创建命令模板。基本上我希望在我基于特定分支创建内容项时触发该命令。我尝试遵循 Sitecore 的“数据定义指南”中的指南,但我就是无法让它发挥作用。

这正是我所做的(在 Sitecore 7.1 中):

我创建了一个这样的命令模板:

namespace MyApp.Commands
{
public class MyCommand : Sitecore.Shell.Framework.Commands.Command
{
public override void Execute(Sitecore.Shell.Framework.Commands.CommandContext context)
{
// do stuff
}
}
}

我已将其注册为 Commands.config 中的命令,如下所示:

<command name="mynamespace:mycategory:mycommand" type="MyApp.Commands.MyCommand,MyApp"/>

在 Sitecore 中,我基于“/sitecore/templates/System/Branches/Command Template”模板创建了一个名为 MyCommandTemplate 的命令模板,并将命令字段设置为:

mynamespace:mycategory:mycommand(id=$ParentID)

此外,我创建了一个名为 MyTemplate 的数据模板,并在“__Standard Values”中添加了 MyCommandTemplate 以插入选项。

对于 MyTemplate,我基于“/sitecore/templates/System/Branches/Branch”分支模板创建了一个名为 MyBranch 的分支,并且在分支的 $name 子项上我检查了它确实设置了 MyCommandTemplate在插入选项中。

但是,当我基于 MyBranch 创建内容项时,不会触发 MyCommand 中的 Execute 方法(代码不会运行,我无法在 Visual Studio 中使用调试器访问它)。

有人知道我做错了什么吗?

最佳答案

不确定命令模板是否在分支级别工作,要测试您的代码是否工作,请尝试添加一个基于“MyTemplate”数据模板的项目,然后查看您的代码是否运行。

如果命令模板在分支级别不起作用,我建议您将一些代码添加到您的命令模板类中,当用户基于“MyTemplate”数据模板创建任何项目时创建所需的项目

关于c# - Sitecore 命令模板中的执行方法不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22023907/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com