Я столкнулся с ситуацией, когда мне нужно получить богатый текстовый контент в столбце типа страницы и вернуть эти данные/HTML, как это было бы на отображаемой странице. Пользовательская веб-часть затем обслуживает агрегированные данные как узлы XML или JSON.Render Widget как HTML-код за кодом
По большей части это было достаточно легко в коде, использующем DocumentQuery, однако проблема связана с виджетами, которые были вставлены в содержимое.
Мой вопрос: Как «визуализировать» виджет чисто в коде? Или даже, какой процесс выполняет Kentico для визуализации виджета, который я мог бы воспроизвести?
Я немного знаком с отношением к виджетам/веб-части/пользовательскому управлению, поэтому я думаю, что веб-часть должна быть создана (где-то), используя свойства виджета, а затем получить доступ к свойству RenderedHTML веб-части.
Из-за формата, в котором виджеты хранятся в данных, я надеялся, что они могут быть просто решены с помощью MacroResolver, но это, похоже, не так.
Для справки, вот пример того, как вне коробки DateTime виджет показывает вверх: {^ виджет | (jsuseservertime) Ложные | (имя) DateTime | (widget_displayname) Дата +% 26 + время | (ширина) | (высота) ^}
Любой вход очень ценится!
Зачем вам это нужно с помощью виджета? Если это содержимое некоторого поля типа страницы (даже богатый текст), вы можете просто получить treenode в коде и получить значение такого поля. – JanH
Я считаю, что он говорит, что это часть столбца DocumentContent в базе данных CMS_Document, IE - текст, используемый в веб-части «Редактируемый текст». –
Уточнение: мы используем настраиваемые поля типа страницы с типом данных Long Text/Rich Text, которые позволяют кому-либо вводить богатый контент и пользовательские виджеты через вид формы. Так упрощенно, например, если богатые текстовое поле имеет содержание: «Привет, добро пожаловать на сайт Текущее время» Выход при получении соответствующего столбца базы данных будет: «Привет, добро пожаловать на данный момент. « Виджеты, очевидно, более сложны, и страницы не обязательно имеют шаблон из-за страниц типа« Контейнер ». –