Перезагрузите 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

Другие вопросы по тегам