使用语言切换器选择语言后重新加载内容编辑器

Reload Content Editor after selecting language using language switcher

我正在尝试根据所选语言重新加载内容编辑器内容,因为我需要先过滤项目,然后用户才能看到它们。现在我可以通过继承 BucketDataView 并覆盖 GetChildItems 方法来过滤项目。

有没有办法在选择新语言后但在调用过滤器后刷新内容?

如果我的方法不对,我还能用什么?

谢谢!

卢卡斯。

这是可能的,而且效果很好。 John West 在我最喜欢的 post 之一中对此进行了很好的解释。 load-or-reload-an-item-in-the-sitecore-aspnet-cms

例如,您可以在命令中使用它,请参阅 dialoge-box-in-een-command 了解一些代码。

替代使用 url,参见 open-content-editor-on-specific-item

工作解决方案

创建新命令

[Serializable]
public class SelectLanguage : Languages
{
    public override string GetClick(Sitecore.Shell.Framework.Commands.CommandContext context, string click)
    {
        Sitecore.Context.ClientPage.SendMessage(this, string.Format("item:refreshchildren(id={0})", Sitecore.ItemIDs.ContentRoot));

        return base.GetClick(context, click);
    }

}

更新\Website\App_Config\Commands.config

设置<command name="ribbon:languages" type="[Namespace]SelectLanguage ,[assembly]"/>

在这种情况下,我可以在语言切换器中选择新语言后更新内容树。

卢卡斯。