Я разрабатываю модуль слайд-шоу для DNN, я закончил модуль, но у меня есть проблема. Я использую свойство TabModuleID модулей для загрузки изображений для каждого экземпляра модуля, этот пользователь может добавить несколько экземпляров модулей с разными изображениями. Вот проблема, когда я устанавливаю флажок «Показать все страницы» в настройках модуля, он показывает модуль на каждой странице, но он не загружает изображения из-за tabModuleID, он дает разные tabModuleID для каждого экземпляра модуля, поэтому модуль не может загружать изображения, ему необходимо загружать изображения для каждого экземпляра модуля. Есть ли способ добиться этого? (извините за плохой английский)
Показывать модуль на каждой странице с одинаковым содержимым в DotnetNuke
Ответы (1)
Используйте свойство ModuleId вместо TabModuleId для хранения данных. ModuleId распределяется между экземплярами, когда вы выбираете параметр «Показать на всех страницах» (или вручную добавляете экземпляр модуля, который является ссылкой на существующий модуль).
TabModuleId следует использовать для хранения информации о том, как отображаются данные (чтобы вы могли отображать модуль одним способом на своей домашней странице и другим способом на внутренней странице), но сами данные должны храниться для каждого ModuleId.
Каждый новый экземпляр модуля имеет новый ModuleId. То есть каждый раз, когда вы используете панель управления для добавления модуля на страницу (и не используете диалоговое окно «Добавить существующий модуль»), этот экземпляр имеет свой собственный ModuleId. На самом деле на странице может быть только один экземпляр конкретного ModuleId. У вас не может быть двух экземпляров с одинаковым ModuleId, но разными TabModuleId на одной странице.
Идентификатор модуля указывает на экземпляр модуля, а идентификатор модуля вкладки указывает на этот экземпляр на определенной странице. . Определение модуля – это определение элементов управления, отображаемых в этом экземпляре, а модуль рабочего стола – это пакет определений модулей. экземпляры которых создаются при добавлении модуля на страницу. Модули рабочего стола — это то, что вы видите на странице Host->Module Definitions и в раскрывающемся списке модулей на панели управления.