这是我第一次创建命令模板。基本上,我希望在基于特定分支创建内容项时触发该命令。我尝试遵循 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 的命令模板,并将 Command 字段设置为:
mynamespace:mycategory:mycommand(id=$ParentID)
此外,我创建了一个名为 MyTemplate 的数据模板,并在“__Standard Values”中将 MyCommandTemplate 添加到插入选项中。
对于 MyTemplate,我基于“/sitecore/templates/System/Branches/Branch”分支模板创建了一个名为 MyBranch 的分支,并在分支的 $name 子项上检查了它确实在插入选项中设置了 MyCommandTemplate .
但是,当我基于 MyBranch 创建内容项时,不会触发 MyCommand 中的 Execute 方法(代码未运行,我无法在 Visual Studio 中使用调试器对其进行点击)。
有谁知道我做错了什么?