0

我是一名学习 DNN 的 .net 开发人员,想知道如何为我的皮肤制作可重用的代码。我想做的是在文件中创建页眉和页脚部分(如母版页),然后创建我将用于网站的皮肤,引入页眉/页脚文件并添加到其中(如嵌套母版页)。剥皮时有没有办法做到这一点?我试图阻止为网站的其余部分制作主页皮肤和皮肤。主页和网站的页眉和页脚部分始终相同。

如果最重要的是,我不想在多个地方进行更改。

关于如何做到这一点的任何建议?

4

2 回答 2

1

您可以添加从多个皮肤引用的控件。请查看我在https://stackoverflow.com/a/10518931/2688上的回答,了解更详细的信息。

于 2012-07-02T17:26:58.757 回答
0

可以说,当您为 DNN 创建皮肤时,本质上是在创建“母版页”。因此,当您创建“皮肤”时,当您布局页面时,您实际上只为整个站点使用了一种皮肤布局。

如果您的主页与其他内容页面不同,则无需创建两个完整的皮肤,但您需要创建两个布局。不同之处在于内容的中间部分。您的一个皮肤将有两个 HTML 文件,当您的皮肤被解析并包含到您的门户中时,它们将转换为两个 .ascx 文件(如果您通过 HTML 创建皮肤。如果您直接使用 .ascx,那么您ll 布局两个 .ascx 文件)。

这完全取决于您如何布局 ContentPane 窗格,它必须在您的布局中。对于您的主页,它将位于与内容页面不同的位置。例如,如果您的主页在页眉下方有一个旋转器和一个没有侧边栏的部分,因此内容是全宽的,然后是下面的页脚,那么您的 ContentPane 将在中间全宽。

然后,您的内容页面可能具有相同的页眉和页脚,但左侧或右侧有一个侧边栏(或两者都有,您可以在单个内容页面上执行此操作,除非您使用它们,否则它们不会同时显示)。因此,您对页面进行布局以使 ContentPane 向左(或向右)浮动,并使侧边栏向右(或向左)浮动。

基本上,您使用相同的工作流程来布局静态站点,但请记住,内容窗格将根据内容的定位来使用。

我建议您听听 Chris Hammond 从 DotNetNuke 制作的一些 DotNetNuke 视频。它们以全面的细节完成,并引导您完成换肤的各个方面,从简单的 HTML 添加标记,到直接的 .ascx 和使用寄存器。

http://vimeo.com/dnnvideo

于 2012-07-02T15:40:13.017 回答