MCMS 基于 Web 的站点管理器






3.31/5 (4投票s)
2005 年 10 月 23 日
3分钟阅读

45226

809
如何编写一个基于 Web 的 MCMS 站点管理器
引言
MCMS 站点管理器桌面应用程序需要连接到网络的计算机才能执行和管理您的内容管理系统站点。 但是,很多时候,当部署 MCMS 网站时,无法访问生产服务器来启动站点管理器和管理您的站点。 在这种情况下,我们需要一个基于 Web 的站点管理器,它可以让您直接在网站托管的地方管理您的内容。 这个示例向您展示了如何使用 C# 和 ASP.Net 编写一个基于 Web 的站点管理器。 这个基于 Web 的站点管理工具可以通过您的发布状态和自定义属性来管理您的频道、发布、资源和模板。
此示例使用 Internet Explorer Web 控件,例如树视图控件和选项卡控件。 安装 MCMS 时,需要 Internet Explorer。
要安装此程序,只需将整个项目解压缩到您的文件夹中。 将虚拟目录添加到您的 IIS 并导入 sdo 文件。 站点管理器的代码位于文件夹 CMSSiteManager 下。
站点管理器对话框
站点管理器对话框页面由一个选项卡、一个左侧面板和一个右侧面板组成。 左侧面板是一个树视图,显示频道,右侧面板是一个数据网格,显示频道中的帖子列表。 单击树视图项将重新加载右侧面板中的数据网格帖子。 单击树视图并单击“创建”按钮将弹出一个窗口以创建新频道,单击“删除”按钮将删除频道,单击“属性”按钮将允许您修改频道属性。 在右侧面板中,单击复选框以多选帖子。 您可以多选帖子并全部批准/提交它们,或者您可以全部删除它们。 单击链接将导航到帖子。
控制台菜单
在 WoodgroveNet 示例项目的基础上,我自定义了编辑控制台菜单,并在菜单中添加了一个“站点管理”项。 现在可以拖动该菜单。
站点管理器菜单项已添加到控制台菜单的底部。 要将菜单项添加到控制台,首先创建一个派生自 Microsoft.ContentManagement.WebControls.ConsoleControls.BaseNewWindowAction 的自定义控件,然后在控制台页面指令中注册此控件。
CMSSiteManager.cs
public class CMSSiteManager : Microsoft.ContentManagement.WebControls.ConsoleControls.BaseNewWindowAction
{
public CMSSiteManager()
{
this.Text = "Site Manager";
}
...
}
DefaultConsole.ascx
<@ Register TagPrefix="sitemanager" NameSpace="WoodgroveNet.CmsSiteManager" Assembly="WoodgroveNet">
...
<sitemanager:cmssitemanager id="SiteManagerAction" runat="Server">
<a id="ViewSiteManager" onclock="<%# Container.ActionJavascript%>;return false>
<%# Container.Text %>
</a>
</sitemanager:cmssitemanager>
...
派生类方法 ActionJavascript() 打开一个新窗口来托管站点管理器 UI。 站点管理器对话框上的“创建频道”等按钮也会打开新窗口。 这可能与弹出窗口阻止程序存在问题。 要查看这些弹出窗口,您可能必须禁用弹出窗口阻止程序或在此站点上注册您的弹出窗口阻止程序以允许弹出窗口。
未完成的工作
以下是完成此示例所需完成的列表。
- 用户角色管理选项卡
- 增强资源管理
- 增强模板管理
- 解锁功能
- 导入和导出
结论
我希望这能让您了解如何扩展站点管理器。 借助基于 Web 的站点管理器,您可以构建更好的用户体验,以便在 Web 上编辑和管理内容。