【问题标题】:how to create Template using DNN?如何使用 DNN 创建模板?
【发布时间】:2010-06-25 10:15:28
【问题描述】:

我是 DNN 的新手,不知道如何以及在何处在 DNN 中创建页面模板?

谁能给我一些教程链接?

【问题讨论】:

    标签: templates dotnetnuke


    【解决方案1】:

    上面的答案其实是对的。在我看来,即使模板 xml 包含皮肤引用,当使用模板创建新页面时,皮肤也将不可见

     <skinsrc>[G]Skins/Corporate/agr-feed-detail.ascx</skinsrc>
    

    我希望有人对此问题有解决方案,或者能够确认此问题

    【讨论】:

      【解决方案2】:

      我可以确认 - 我还没有弄清楚如何让模板实际使用引用的皮肤。用模板建一个页面,然后必须进去完成,有点草率。

      如果您自己构建 XML 或通过导出创建模板没有什么不同。

      【讨论】:

        【解决方案3】:

        如果你看过 DotNetNuke.Web.UI 的反编译源代码并寻找 RibbonBarManager.SaveTabInfoObject 方法,你会明白为什么......

        基本上,当您选择模板作为页面的基础时,新页面将继承的唯一信息是窗格数据(即模板中配置的模块)。

        在这里看到...

        xmlDocument.Load(templateMapPath);
        TabController.DeserializePanes(xmlDocument.SelectSingleNode("//portal/tabs/tab/panes"), tab.PortalID, tab.TabID, PortalTemplateModuleAction.Ignore, new Hashtable());
        

        是的,马虎,烦人,不完整...非常 dotnetnukey 和 TBH 我对他们的代码的期望。不是粉丝。

        【讨论】:

        • 解决此问题的快速方法如下:在 AddPage.ascx.vb 中的 cmdAddPage_Click 事件中,更改... templateFile = System.IO.Path.Combine(PortalSettings.HomeDirectoryMapPath, " Templates\" + TemplateLst.SelectedValue) 到... templateFile = System.IO.Path.Combine(PortalSettings.HomeDirectoryMapPath, "Templates\" + TemplateLst.SelectedValue) 将 xdoc 调暗为 XDocument = XDocument.Load(templateFile) If Not (xdoc Is Nothing) Then newTab.SkinSrc = (From doc In xdoc.Descendants("tab") _ Select doc.Element("skinsrc").Value).FirstOrDefault() End If
        【解决方案4】:
        1. 转到要导出为模板的页面。
        2. 点击功能区栏中的“当前页面”选项卡。
        3. 点击选项卡中的导出图标。

        alt text http://images.devs-on.net/Image/G6LGebA9KoqLC20-MyWebsiteHomeAlp.png

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-09-09
          • 1970-01-01
          • 1970-01-01
          • 2020-11-09
          • 1970-01-01
          • 2022-10-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多