2010-06-25 176 views

回答

1

上面的答案是正确的实际。在我看来,即使模板XML包含皮肤参考时使用模板

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

我希望有人对这个问题的解决方案,或者能够创建一个新的页面不会对皮肤可见确认这个问题

1

我可以证实它 - 我还没有想出如何让模板实际使用引用的皮肤,虽然。用模板构建一个页面并不得不进入并完成它。

如果您自己构建XML或通过导出创建模板,这也不例外。

1

如果你有看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我从他们的代码期望真的。不是粉丝。

+0

快速黑客绕过这将是如下: 在AddPage.ascx.vb在cmdAddPage_Click事件,改变... templateFile = System.IO.Path.Combine(PortalSettings.HomeDirectoryMapPath,“模板\” + TemplateLst.SelectedValue) 为... templateFile = System.IO.Path.Combine(PortalSettings.HomeDirectoryMapPath, “模板\” + TemplateLst.SelectedValue) XDOC昏暗作为的XDocument = XDocument.Load(templateFile ) If Not(xdoc Is Nothing)Then newTab.SkinSrc =(来自doc在xdoc.Descendants(“tab”)_ 选择doc.Element(“skinsrc”)。Value).FirstOrDefault() End If – Dan 2011-08-29 04:15:33