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