Переключение между языками в редакторе контента программно в sitecore - PullRequest
0 голосов
/ 18 ноября 2018

Я хочу переключаться между языками в редакторе контента программно после сохранения элемента в sitecore

1 Ответ

0 голосов
/ 18 ноября 2018

Одним из способов достижения желаемого результата является добавление процессора к конвейеру 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 \ dirctory:

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