2009-07-30 45 views
3

我们可以在dotnetnuke中创建一个内容托管母版页吗?dotnetnuke:我们可以创建一个母版页吗?

例如。我希望右侧窗格和底部窗格能够进行内容管理,但要在所有页面上显示相同的内容。

感谢

+1

您可能想在DNN论坛上提问:http://www.dotnetnuke.com/Community/Forums/tabid/795/Default.aspx – 2009-07-30 00:21:42

回答

17

你所描述基本上是什么DNN调用皮肤

DNN皮肤实际上只是一个ASP.NET用户控件(ascx),它规定了页面范围或整个站点的外观和感觉,它为开发人员提供了与母版页相同的功能,除了它与DNN-特定元素并使用一些DNN特定的用户控件,如菜单/导航,徽标,面包屑,登录/用户帐户链接等。

现在,为了增加在站点范围内提供内容管理功能的能力,你在你的皮肤中指定一个区域来放置一个模块(比方说,一个文本/ HTML模块)。该区域称为窗格。一旦你添加一个模块到这个窗格,在它的设置中你可以告诉它出现在每一页上。这样,模块可以在任何页面上编辑,其更改将自动反映在所有页面上。

查看DNN的网站,因为它包含了关于如何执行许多常见任务的TON文档:http://www.dotnetnuke.com/Support/Documentation/DownloadableFiles/tabid/478/Default.aspx。根据技术文档部分,您将需要获取皮肤文档(我相信这是一个PDF)。

+0

我会评论说如果您要在所有页面上添加内容它应该是皮肤的一部分 - 除非它像新闻或rss feed一样随时变化 – braindice 2012-02-03 15:15:49

1

通过选中模块设置中的复选框,可以将DNN模块设置为出现在所有页面上。但是DNN不使用主页面的概念。它在运行时在单个aspx页面上的容器中注入模块(用户控件)。

一个主页面将是DotNetNuke的一个很好的补充,你不能替换页面单个区域中的内容。整个页面刷新。例如,如果您有一个菜单,并且只想要选择在特定内容区域中显示的内容而不刷新页面的其余部分,则必须诉诸尝试这样做但通常会失败的第三方模块。有'模块包装',但我测试过的所有模块都有问题,允许用户编辑内容。编辑屏幕是通常在编辑模块内容时启动的不同用户控制文件(ascx)。由于页面刷新新页面,你已经失去了你的位置。这些模块包装对于静态内容和其他一些控件都适用,但不适用于所有控件。

可以使用IFrames(DNN有一个)来交换内容,但是没有摆脱上面提到的问题。我大量投资于DNN,运行UCanUse.com网站,因此这不是DNN的大满贯。我只是想我会尽力回答详细的问题。

相关问题