Register  |  LOGIN

CMSならDotNetNuke!高機能かつフリーのCMSです。

 

 DotNetNuke 対応ホスティングサービスに、
at link 専用サーバサービス」を追加

掲示板

DNNに関する情報共有はこちらからどうぞ!

DotNetNuke.jp 掲示板は、すべての DotNetNuke ユーザーのための情報共有の場です。

単に質問・回答の場ではありませんし、回答義務もございません。
運営メンバーも含め、DotNetNuke を日々学んでいる状況です。
質問をする場合は、まずインターネットなどで自分自身でお調べいただき、その情報を共有する事をこころがけてください。

>>当掲示板に書き込みいただくには、ユーザー登録が必要です。( ログイン・ご登録はこちら )
>>プライバシーポリシーについてはこちらをご覧ください。
 
  dotnetnuke.jp bbs  一般  開発  タブ内にあるモジュール一覧の取得方法
Previous Previous
 
Next Next
New Post 4/18/2008 12:26 PM
Resolved
  SHIMIZU
161 posts
5th Level Poster


タブ内にあるモジュール一覧の取得方法 

お世話になります。
度々すみませんが、どうにもよくわからないことがあり質問させてください。

やりたいことは、タブ内にあるモジュールの一覧を取得することです。

まずは、現在のタブの情報を

Dim tabInfo As DotNetNuke.Entities.Tabs.TabInfo = DotNetNuke.Common.Globals.GetPortalSettings.ActiveTab()

で取得し、

For Each moduleInfo As DotNetNuke.Entities.Modules.ModuleInfo In tabInfo.Modules()
       Label1.Text += moduleInfo.ModuleTitle & "<br/>"
Next

とすると、Labelにはそのタブに含まれるモジュールの一覧が表示されます。

次に、同じく現在のタブ(TabIdは60とします)の情報を今度は

Dim TabController As New DotNetNuke.Entities.Tabs.TabController
Dim tabInfo As DotNetNuke.Entities.Tabs.TabInfo = TabController.GetTab(60)

で取得し、全く同じように

For Each moduleInfo As DotNetNuke.Entities.Modules.ModuleInfo In tabInfo.Modules()
       Label1.Text += moduleInfo.ModuleTitle & "<br/>"
Next

とすると、実行時にモジュールのエラーが表示されます。

同じタブの情報を取得しているつもりなのですが、なぜでしょうか?
ちなみに後者でtabInfo.TabIDなどでタブの情報を取得してみるとちゃんと60で取得できていますので、
TabIDの指定が違うなどの理由ではないと考えております。

もしかすると初歩的な勘違いで恥ずかしい質問をしているのかもしれませんが、
よろしくお願いします。

 
New Post 4/19/2008 12:44 AM
  河原 伸一
340 posts
3rd Level Poster




Re: タブ内にあるモジュール一覧の取得方法 

戻り値を見て頂くとわかりますが
GetTabで取得した時は、 modules プロパティがありませんので、エラーになります。
tabid を指定してモジュール情報を取得する方法を参考に掲載します。

Dim Modules As List(Of DotNetNuke.Entities.Modules.ModuleInfo)
Modules = CBO.FillCollection(Of DotNetNuke.Entities.Modules.ModuleInfo)  _
        (CType(DataProvider.Instance().GetTabModules(60), IDataReader))

For Each moduleInfo As DotNetNuke.Entities.Modules.ModuleInfo In Modules
      Label1l.Text += moduleInfo.ModuleTitle.ToString & "<br />"
Next

 
New Post 4/21/2008 12:11 AM
  SHIMIZU
161 posts
5th Level Poster


Re: タブ内にあるモジュール一覧の取得方法 

河原さま。

いつもありがとうございます。

お返事が遅くなってすみません。無事取得できました!どうもありがとうございます。

ただ、提示いただいたコードがほとんど理解できないのがうーむ・・ですね(汗)
VBが初めてというのもありますが、(Of ・・・)というのは恐らくGenericですよね。
CBOって??DotNetNukeのライブラリ?検索したところCustom Business Objectの略でしょうか?

とりあえず取得できましたので、今後頂いたコードを解読していきたいと思いますが、
これまでほとんどが、わかりやすいスタイルで取得できていたので、
かなり違うところに戸惑っております。まだまだ勉強すべきことは多いようです。

どうもありがとうございました。

 
Previous Previous
 
Next Next
  dotnetnuke.jp bbs  一般  開発  タブ内にあるモジュール一覧の取得方法

掲示板ご利用のためのご案内

ログイン
すでに登録済みの方は、
上のボタンからログインを
お願いします。
登録
ユーザー登録がまだの方は、
上の「登録する」ボタンをクリックし、
登録画面にて必要事項をご入力の上、
ご登録ください。