在Sitecore中以编程方式在内容编辑器中切换语言

时间:2018-11-18 12:23:48

标签: sitecore

在Sitecore中保存项目后,我想以编程方式在内容编辑器中切换语言

1 个答案:

答案 0 :(得分:1)

获得期望结果的一种方法是在saveUI管道中添加处理器,该处理器将引用ContentEditorDataContext并更改其语言。为此,我们需要使用Process方法创建一个类,如下所示:

public class LanguageChangeAfterSave
{
    public void Process(Sitecore.Pipelines.Save.SaveArgs args)
    {
        var contentEditorDataContext = Sitecore.Context.ClientPage.FindControl("ContentEditorDataContext") as Sitecore.Web.UI.HtmlControls.DataContext;
        contentEditorDataContext.Language = Language.Parse("en");
        contentEditorDataContext.Refresh();
    }
}

并且为了将此管道处理器添加到saveUI管道,我们还创建了一个具有以下内容的.config文件,并将其拖放到webroot \ App_Config \ Include \目录中:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
    <sitecore>
        <processors>
            <saveUI>
                <processor type="YourNamespace.LanguageChangeAfterSave,YourAssembly" />
            </saveUI>
        </processors>
    </sitecore>
</configuration>