#dotnetnuke #2sxc
#dotnetnuke #2sxc
Вопрос:
Я знаю, что DNN не поддерживает вставку одного модуля в другой. Но мне интересно, есть ли у модуля 2sxc обходной путь для этого, и точно так же, как вы можете, скажем, вставить приложение галереи в содержимое сообщения в блоге, есть ли способ вставить туда внешний объект модуля?
Ответ №1:
Короткий ответ — нет. в 2sxc нет встроенной этой функции.
НО: У DNN есть некоторые API для этого — были модули, которые делали такие вещи. Поэтому я бы продолжил в API DNN, чтобы выяснить, как это сделать.
Ответ №2:
Я считаю, что ответ «да», и вам следует взглянуть на https://docs.2sxc.org/api/dot-net/ToSic.Sxc.Dnn.Factory.html . Я думаю, что вам следует обратить внимание на CmsBlock.
Некоторые другие ссылки:
- https://docs.2sxc.org/specs/architecture/data-flow.html
https://docs.2sxc.org/api/dot-net/ToSic.Sxc.DataSources .CmsBlock.html
Я никогда не делал ничего подобного, и я не очень знаком с содержимым на этой странице. Возможно, Даниэль и дайте нам несколько советов.
Комментарии:
1. Похоже, он предназначен только для работы с другим модулем 2sxc. Я создал
IBlockBuilder
объект сFactory.CmsBlock
помощью метода, а затем отобразил его, используя@Html.Raw(blockBuilder.Render())
, но его поведение кажется мне странным. Когда я даю ему ModuleID и tabId для моего пользовательского объекта модуля DNN (не приложения 2sxc!) — он отображает пустой контейнер модуля 2sxc с нерабочим меню. И с помощью существующих идентификаторов модуля 2sxc и tabId он рекурсивно отображает ту же страницу доError: System.InsufficientExecutionStackException
появления. Предназначен ли он для работы только с другим экземпляром модуля 2sxc?