Перезагрузите Content Editor после выбора языка с помощью переключателя языка
Я пытаюсь перезагрузить контент редактора контента на основе выбранного языка, так как мне нужно отфильтровать элементы, прежде чем пользователь сможет их увидеть. Прямо сейчас я могу фильтровать элементы, наследуя от BucketDataView и переопределяя метод GetChildItems.
Есть ли способ обновить контент после выбора нового языка, но после вызова фильтра?
Если мой подход неверен, что еще я могу использовать?
Спасибо!
Лукаш.
2 ответа
Рабочий раствор
Создать новую команду
[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);
}
}
Update \Website\App_Config\Commands.config
Задавать <command name="ribbon:languages" type="[Namespace]SelectLanguage ,[assembly]"/>
В этом случае я могу обновить дерево контента после выбора нового языка в переключателе языков.
Лукаш.
Это возможно и прекрасно работает. Это хорошо объяснено в одном из моих любимых постов от Джона Уэста. нагрузки или-перезарядка-ан-элемент-в-Sitecore-ASPnet-CMS
Вы можете использовать его, например, внутри команды, см. Dialoge-box-in-een-command для некоторого кода.
Альтернатива Используйте URL, см. Open-content-editor-on-specific-item