2010-12-29 8 views
0

私は既存のHTMLモジュールのHTMLコンテンツを更新できるようにする必要のあるDNNモジュールに取り組んでいます。コードでこれを行う方法を誰かが知っていますか?DotNetNukeのHTMLモジュールコンテンツをコードで更新するには?

私はコンテンツがHtmlTextテーブルに格納されると判断しましたが、私はむしろテーブルに直接書き込むことはできません。誰もDNN APIを使ってこれを達成する方法を知っていますか?

ありがとうございます。


ここで私はmika & bdukesの助けを借りて、見つかったソリューションです:

''' <summary>Add HTML contest to an existing HTML module.</summary> 
Private Sub AddHTML(ByVal ModuleID As Integer, ByVal HTML As String) 
    Try 
     Dim oHTML As New DotNetNuke.Modules.Html.SqlDataProvider 
     '-- i'm not sure what "history" should be set for in the method below. 
     '-- i suspect it means "version history", which 5 seems to be the default based on what i've read. 
     oHTML.AddHtmlText(ModuleID, HTML, 1, 1, UserId, 5) 

    Catch ex As Exception 
     'failure 
    End Try 
End Sub 

注:

  • このルーチンは、ちょうど にHTMLコンテンツを追加します作成されたHTML /テキストモジュールeのため、 既存のHTMLコンテンツを確認する は必要ありません。

  • それは が正常に動作しているようだが、私は、 第三及び第六 パラメータ(STATEID &史)について少しあいまいです。誰でも詳細について を知っていれば、 にこれらのパラメータを設定する正しい方法が分かります。

答えて

1

Text/HTML moduleを使用してください。 .dllとしては配布されませんが、コードは/ App_Code/HTMLフォルダにあります。上記(DNN 5.2と一緒に配布され始めた)とHTMLモジュールの

- Public Sub AddHtmlText(ByVal objText As HtmlTextInfo) 
- Public Function GetHtmlText(ByVal moduleId As Integer) As HtmlTextInfo 
- Public Sub UpdateHtmlText(ByVal objText As HtmlTextInfo) 
2

バージョン5.2のWebサイトの/ bin /ディレクトリに参照して、コンパイルされています

HtmlTextControllerはメソッドを持っています。プロジェクトのDotNetNuke.Modules.Html.dllへの参照を作成し、HtmlTextControllerのメソッドを使用して更新を行います(@mikaというように)。ただし、HTMLモジュールが時間の経過とともに変更されるため、DNNを更新するたびにモジュールを再確認して(そして統合を更新する可能性がある)確認する必要があります。

無料版Engage: F3 moduleを見て、さまざまなバージョンのコードベースの違いをどのように解決したかをご覧ください。

関連する問題