我们拥有自己的基于Bootstrap 3的自定义DotNetNuke 7皮肤。它包含一个navbar
,其中我想要一个navbar-brand
链接到主页。
是否可以在皮肤内生成门户主页的链接?
在documentation page我找到Skin Objects Guide (pdf)建议[Portal:url]
的链接,我尝试过这样做:
<a href="[Portal:url]" class="navbar-brand">Home</a>
毫不奇怪,这不起作用(pdf来自2009年)。来自维基的其他链接要么死了,要么没用。
我也试过浏览DotNetNuke附带的“Gravity”和“Aphelia”皮肤,但ascx文件似乎无法链接到门户网站主页。
显然我也尝试过各种形式的GoogleFu,例如: "DotNetNuke skin create link to home page",但这无处可去。
任何人都知道如何做到这一点?或者甚至更喜欢:我可以找到这个和相关的信息?或者我注定要深入研究DNN的源代码?
答案 0 :(得分:7)
独自一人是危险的。拿这个:
<a href="<%= DotNetNuke.Common.Globals.NavigateURL(PortalController.GetCurrentPortalSettings().HomeTabId) %>" class="navbar-brand">Home</a>
NavigateUrl
是您处理引用门户网站另一部分的goto方法。它通过URL重写,因此它将与您的其他网址保持一致。
此功能有很多签名重载,您可以在其中指定键,控制键,设置等。有关详细信息,请查看DotNetNuke.Common.Globals
类。
请注意,如果您使用上述版本,则需要在admin&gt;下为您的门户设置“主页”页面。网站设置。
答案 1 :(得分:2)
在DNN 7中,最好这样做:
<%=DotNetNuke.Common.Globals.NavigateURL(PortalController.Instance.GetCurrentPortalSettings().HomeTabId) %>
请注意其中的额外Instance.
。变体PortalController.GetCurrentPortalSettings()
已过时。