Sitecore:从上下文菜单项调用方法

时间:2015-03-19 13:28:54

标签: asp.net command field sitecore fieldtype

我创建了自己的fieldtype(TreelistEx的扩展名)。 对于此扩展,我添加了第二个上下文菜单项(默认情况下,TreelistEx已经有一个“编辑”菜单项。)

我开始将此菜单项与命令链接起来。这工作正常,但它不能真正回答我的要求。我需要菜单项来执行fieldtype中的方法。

TreelistEx与“编辑”菜单项一样。没有引用命令(我检查了Commands.config和许多其他配置文件)但它到达了TreelistEx.cs中的Edit方法

有谁知道我怎么能达到同样的结果?

(另外:有没有办法将字段类型的source属性传递给命令)

1 个答案:

答案 0 :(得分:1)

在核心数据库中,您已定义了一个 / sitecore / system /字段类型/列表类型/ YOURTreelistEx

<controlSources>下方的web.config中提供控件并进行设置 或者提供一个班级和集会,我想你已经这样做了? 你需要自己控制或上课

你有核心数据库创建项目 / sitecore / system /字段类型/列表类型/ YOURTreelistEx / Menu / YOURButton

在消息字段中设置您的字段:您的按钮

修改void IMessageHandler.HandleMessage(消息消息)还有对Edit的命令调用

public override void HandleMessage(Message message)
{
      Assert.ArgumentNotNull((object) message, "message");
      if (!(message["id"] == this.ID))
        return;
      switch (message.Name)
      {
        case "treelist:edit":
          Context.ClientPage.Start((object) this, "Edit");
          break;
         case "yourfield:yourbutton":
        //Call Your code;
          break;
      }
}

参见示例Creating a custom Sitecore Field