0

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

コンテンツは 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/Text モジュールに HTML コンテンツを追加するため、既存の HTML コンテンツをチェックする必要はありません。

  • 正しく機能しているように見えますが、3 番目と 6 番目のパラメーター (StateID と History) については少し曖昧です。誰かがそれらについて詳しく知っている場合は、これらのパラメーターを設定する正しい方法を知りたいです。

4

2 に答える 2

2

HTML モジュールのバージョン 5.2 (DNN 5.2 で配布が開始されました) 以降がコンパイルされ、Web サイトの /bin/ ディレクトリで参照されます。プロジェクトで DotNetNuke.Modules.Html.dll への参照を作成し、メソッドを使用しHtmlTextControllerて更新を行うことができます ( @mikaが言及しているように)。ただし、時間の経過とともに HTML モジュールが変更されるため、DNN を更新するたびにモジュールを再確認する (場合によっては統合を更新する) 必要があります。

無料のEngage: F3 モジュールを見て、さまざまなバージョンのコード ベースの違いに対処した方法を確認してください。

于 2010-12-30T13:56:49.517 に答える
1

Text/HTML モジュールを使用します。.dll として配布されていませんが、コードは /App_Code/HTML フォルダーにあります。

HtmlTextController には次のメソッドがあります。

- Public Sub AddHtmlText(ByVal objText As HtmlTextInfo) 
- Public Function GetHtmlText(ByVal moduleId As Integer) As HtmlTextInfo 
- Public Sub UpdateHtmlText(ByVal objText As HtmlTextInfo)
于 2010-12-30T11:34:27.853 に答える