DNN中使用的是编辑器是FreeTextBox(即:ftb),它里面没有将图片上传到服务器的功能,其他功能好像也没有CuteEditor丰富。我想DNN既然可以支持ftb,就应该是能够支持CuteEditor的(同是第三方控件)。上CuteEditor的官方网站(http://cutesoft.net/)一看,还真可以支持DNN(在线演示http://dnn3.cutesoft.net/)。
Go!Down下来试试。我下的是Cute Editor for DotNetNuke 3.0.0 - 3.0.13版,Cute Editor for DotNetNuke 3.1版的安装和它一样。下载下来后解压后查看,有安装说明有相关文档,实在是太好了。
安装安装说明的步骤如下:(原文:在解压后的document文件夹下的DotNetNuke-Integration.htm)
1、将解压后的Providers\HtmlEditorProviders文件夹中的CEHtmlEditorProvider文件夹中的内容全部Copy到DNN程序的Providers\HtmlEditorProviders文件夹下。
2、将以下解压后的bin文件夹下的CuteEditor.dll 、DotNetNuke.CEHtmlEditorProvider.dll 、NetSpell.SpellChecker.dll 、CuteEditor.lic全部Copy到DNN程序的bin文件夹下
3、修改配置文件,在web.config中找到htmlEditor节点,将它里面的内容替换如下。记住将htmlEditor节点的defaultProvider属性修改为CEHtmlEditorProvider。
<htmlEditor defaultProvider="CEHtmlEditorProvider"> <providers> <clear/> <add name="CEHtmlEditorProvider" type="DotNetNuke.HtmlEditor.CEHtmlEditorProvider, DotNetNuke.CEHtmlEditorProvider" providerPath="~\Providers\HtmlEditorProviders\CEHtmlEditorProvider\CuteSoft_Client\CuteEditor\" UseDNNRootImageDirectory="true" RemoveServerNamesFromUrl="true" EnableStripScriptTags="true" RemoveTBODYTag="false" ShowCodeViewToolBar="true" UseRelativeLinks="true" RenderRichDropDown="true" UseSimpleAmpersand="false" MaxHTMLLength="0" MaxTextLength="0" CustomCulture="" ThemeType="Office2003_BlueTheme" DisableAutoFormatting="false" DisableClassList="" HelpUrl="" BreakElement="div" EditorBodyStyle="" Admin_AutoConfigure = "Full" Admin_SecurityPolicyFile = "admin.config" Admin_DisableItemList = "" Admin_AllowPasteHtml = "true" Admin_EditorOnPaste = "default" Admin_ReadOnly = "false" Admin_ShowBottomBar ="true" Admin_ShowHtmlMode = "true" Admin_ShowPreviewMode = "true" Registered_AutoConfigure = "Simple" Registered_SecurityPolicyFile = "default.config" Registered_DisableItemList = "" Registered_AllowPasteHtml = "true" Registered_EditorOnPaste = "default" Registered_ReadOnly = "false" Registered_ShowBottomBar ="true" Registered_ShowHtmlMode = "true" Registered_ShowPreviewMode = "true" Guest_AutoConfigure = "Full" Guest_SecurityPolicyFile = "admin.config" Guest_DisableItemList = "Save" Guest_AllowPasteHtml = "true" Guest_EditorOnPaste = "default" Guest_ReadOnly = "false" Guest_ShowBottomBar ="true" Guest_ShowHtmlMode = "true" Guest_ShowPreviewMode = "true" /> </providers></htmlEditor>4、OK,如果你的DNN程序时已网站形式发布的到这里就安装完毕了。(应该是好了,我的是以虚拟目录形式发布的所以还要继续往下看)
5、如果你的DNN程序是以虚拟目录形式发布的,那么使用时会报错
。如:F:\Inetpub\wwwroot\Portals\0\Admin目录无权访问。这应该是路径问题,将路径前加上"~"表示从根路径起就可以解决这个问题。6、双击打开Provider.CEHtmlEditorProvider.vbproj项目,会有两个引用错误。分别修改这两个引用DotNetNuk(添加DNN程序Bin文件夹中的DotNetNuk.dll)和CuteEditor(添加CEHtmlEditorProvider\bin中的CuteEditor.dll)。如何添加引用不用多讲吧!
7、打开CEHtmlEditorProvider.vb,修改
RootImageDirectory = _portalSettings.HomeDirectory.Substring(_portalSettings.HomeDirectory.IndexOf("/Portals/"))
为
RootImageDirectory = "~" & _portalSettings.HomeDirectory.Substring(_portalSettings.HomeDirectory.IndexOf("/Portals/"))
即可。
8、重新编译一下,将编译后的DotNetNuke.CEHtmlEditorProvider.dll复制到DNN程序根目录下的Bin中。
9、再次运行程序,OK。CuteEditor可以用了
,界面如下:10、博客园中,每一个用户上传的文件都在各自同名的文件夹下,要在DNN中实现需将CEHtmlEditorProvider.vb文件中的
If Isadmin Then
tempfolder = ""
ElseIf Isregistered Then
tempfolder = "Member"
End If
改为
If Isadmin Then
tempfolder = ""
ElseIf Isregistered Then
tempfolder = "Member"
' 如果是注册用则将图片或文件上传到与用户名同名的文件夹
Dim objUserInfo As UserInfo = UserController.GetCurrentUserInfo
If objUserInfo.UserID <> -1 Then
tempfolder = tempfolder & "/" & objUserInfo.Username.ToString
End If
End If
记得要添加引用:Imports DotNetNuke.Entities.Users。重复步骤8即可。