Как обновить содержимое HTML-модуля DotNetNuke с помощью кода? - PullRequest
0 голосов
/ 30 декабря 2010

Я работаю над модулем DNN, который должен иметь возможность обновлять содержимое HTML существующих модулей 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 / Text, поэтому проверяет существующий HTMLсодержимое не обязательно.

  • Я немного не в курсе 3-го и 6-го параметров (StateID & History), хотя, похоже, он работает правильно.Если кто-то знает о них больше, я хотел бы знать, как правильно установить эти параметры.

Ответы [ 2 ]

2 голосов
/ 30 декабря 2010

Версия 5.2 модуля HTML (который начал распространяться с DNN 5.2) и выше компилируется со ссылкой в ​​каталоге / bin / на веб-сайте. Вы можете сделать ссылку на DotNetNuke.Modules.Html.dll в своем проекте и использовать методы HtmlTextController для выполнения обновлений (как упоминается @ mika ). Тем не менее, из-за изменений в модуле HTML с течением времени вам нужно будет проверять свой модуль (и, возможно, обновлять интеграцию) каждый раз при обновлении DNN.

Вы можете взглянуть на наш бесплатный Engage: модуль F3 , чтобы увидеть, как мы учли различия в базах кода различных версий.

1 голос
/ 30 декабря 2010

Использовать Текстовый / 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)
...