Sitecore 7 功能区添加链接



我想向 sitecore 页面编辑器功能区添加一个按钮,并希望它用作链接。例如,当我单击此按钮时,页面应重定向到HOMEURL/sample.aspx。

我写了一个从命令继承的类。

public class addlink : Command
{
    public override void Execute(CommandContext context)
    {
        Sitecore.Web.WebUtil.Redirect("/sample.aspx");
    }
}

然后,对于核心数据库中的这个 webedit 功能区元素,我给出了点击事件 webedit:addlink。浏览器上此链接的 onclick 事件是 javascript:return scForm.invoke('webedit:addlink', event)。

因此,重定向不会发生。如何添加指向页面编辑器功能区的链接?我也欢迎任何改进我的课程或其他方法的建议。

感谢

您需要

Sitecore配置中注册命令。在包含内容的App_Config/Include中创建自己的MyCommands.config文件:

<configuration>
  <command name="webedit:addlink" type="My.Assembly.Namespace,My.Assembly"/>
</configuration>

或使用命令定义更新现有文件之一。

编辑以回答您的评论

您的代码不起作用的原因是您正在尝试重定向单击按钮时请求的 POST 调用的响应。您需要做的是注册一个 JavaScript,该脚本将在 Sitecore 的响应返回后重定向父窗口,就像 TwentyGotoTen 在下面的帖子中写道的那样。

public override void Execute(CommandContext context)
{
    Sitecore.Web.UI.Sheer.SheerResponse
        .Eval("window.top.location.href='http://google.com';");
}
我认为

重定向需要在客户端完成,这可以通过在命令中添加这样的东西来实现:

SheerResponse.Eval("window.parent.location.href='/sample.aspx';");

最新更新