Показывать модуль на каждой странице с одинаковым содержимым в DotnetNuke

Я разрабатываю модуль слайд-шоу для DNN, я закончил модуль, но у меня есть проблема. Я использую свойство TabModuleID модулей для загрузки изображений для каждого экземпляра модуля, этот пользователь может добавить несколько экземпляров модулей с разными изображениями. Вот проблема, когда я устанавливаю флажок «Показать все страницы» в настройках модуля, он показывает модуль на каждой странице, но он не загружает изображения из-за tabModuleID, он дает разные tabModuleID для каждого экземпляра модуля, поэтому модуль не может загружать изображения, ему необходимо загружать изображения для каждого экземпляра модуля. Есть ли способ добиться этого? (извините за плохой английский)


person zer0w1dthspace    schedule 12.08.2009    source источник


Ответы (1)


Используйте свойство ModuleId вместо TabModuleId для хранения данных. ModuleId распределяется между экземплярами, когда вы выбираете параметр «Показать на всех страницах» (или вручную добавляете экземпляр модуля, который является ссылкой на существующий модуль).

TabModuleId следует использовать для хранения информации о том, как отображаются данные (чтобы вы могли отображать модуль одним способом на своей домашней странице и другим способом на внутренней странице), но сами данные должны храниться для каждого ModuleId.

Каждый новый экземпляр модуля имеет новый ModuleId. То есть каждый раз, когда вы используете панель управления для добавления модуля на страницу (и не используете диалоговое окно «Добавить существующий модуль»), этот экземпляр имеет свой собственный ModuleId. На самом деле на странице может быть только один экземпляр конкретного ModuleId. У вас не может быть двух экземпляров с одинаковым ModuleId, но разными TabModuleId на одной странице.

Идентификатор модуля указывает на экземпляр модуля, а идентификатор модуля вкладки указывает на этот экземпляр на определенной странице. . Определение модуля – это определение элементов управления, отображаемых в этом экземпляре, а модуль рабочего стола – это пакет определений модулей. экземпляры которых создаются при добавлении модуля на страницу. Модули рабочего стола — это то, что вы видите на странице Host->Module Definitions и в раскрывающемся списке модулей на панели управления.

person bdukes    schedule 12.08.2009
comment
Спасибо за ответ, но я хочу, чтобы пользователь мог добавлять разные изображения для разных экземпляров модуля, например, пользователь добавит два экземпляра модуля на одну и ту же страницу, и он/она будет загружать разные изображения для каждого из них. Если я использую ModuleID для получить данные, он показывает одни и те же изображения для каждого экземпляра модуля, но мне это не нужно. - person zer0w1dthspace; 12.08.2009
comment
Я расширил свой ответ выше, чтобы указать, что идентификатор модуля должен быть разным для каждого экземпляра на странице. - person bdukes; 12.08.2009
comment
Спасибо, я решил это, используя ModuleId вместо TabModuleID. - person zer0w1dthspace; 13.08.2009