DotNetNuke 6で、複数のモジュール定義を含むモジュールを作成しました。モジュールは複数のページ(タブ)に追加でき、複数のモジュールを1つのページ(タブ)に追加できます。問題は、1つのインスタンスからすべてのモジュール定義を結び付ける識別子が見つからないことです。
DesktopModuleId
インストールされているすべてのモジュールに対してのみ一意です(インスタンスおよびページごとではありません)。
ModuleId
モジュールインスタンスと定義ごとに一意です。
TabModuleId
すべてのモジュールインスタンスとタブおよび定義に対して一意です。
したがって、私が探しているのは、モジュールをページに配置した瞬間に、どのモジュール定義が互いに属しているかを識別する方法です。
同じ問題を説明するフォーラムの投稿を見つけました。誰かがModuleId
すべての定義を調べて、それらが連続しているかどうかを確認するよう提案しました。私はそれが非常にハッキーだと思います。
編集:
私が開発しているモジュールにはいくつかの異なる定義が含まれていますが、3つ(表示、編集、設定)があるとしましょう。モジュールをインストールするときは、モジュールに使用するカテゴリを設定する必要があります。たとえば、ブログモジュールにします。3つの定義すべてが、同じ一意のID(おそらく)でデータベースからデータを取得します。同じモジュールを再度インストールします。別のカテゴリ(ポートフォリオ)を選択して、そのデータのみを取得します。DNNの現在の動作方法では、3つのブログ定義が互いに属し、他の3つのポートフォリオ定義から分離していることを知る方法がないため、ブログアイテムをポートフォリオアイテムから分離できません。これが理にかなっていることを願っています...