Dotnetnuke 如何在皮肤中链接到门户主页?

Dotnetnuke 如何在皮肤中链接到门户主页?,dotnetnuke,dotnetnuke-7,Dotnetnuke,Dotnetnuke 7,我们有自己的自定义DotNetNuke 7皮肤,基于Bootstrap 3。它包括一个导航栏,我想在其中有一个导航栏品牌,链接到主页 是否可以在皮肤内生成到门户主页的链接 在上,我找到了一个指向建议的[Portal:url]的链接,我尝试这样做: <a href="[Portal:url]" class="navbar-brand">Home</a> 这并不奇怪,pdf是从2009年开始的。维基上的其他链接要么是死的,要么是无用的 我也尝试过查看DotNetNuke附带

我们有自己的自定义DotNetNuke 7皮肤,基于Bootstrap 3。它包括一个导航栏,我想在其中有一个导航栏品牌,链接到主页

是否可以在皮肤内生成到门户主页的链接

在上,我找到了一个指向建议的[Portal:url]的链接,我尝试这样做:

<a href="[Portal:url]" class="navbar-brand">Home</a>
这并不奇怪,pdf是从2009年开始的。维基上的其他链接要么是死的,要么是无用的

我也尝试过查看DotNetNuke附带的Gravity和Aphelia皮肤,但ascx文件似乎没有链接到门户主页

显然,我也尝试过各种形式的谷歌搜索引擎,例如,但这是行不通的


有人知道怎么做吗?或者更倾向于:我在哪里可以找到这个和相关的信息?还是我注定要深入研究DNN的源代码?

独自去是危险的。拿这个来说:

<a href="<%= DotNetNuke.Common.Globals.NavigateURL(PortalController.GetCurrentPortalSettings().HomeTabId) %>" class="navbar-brand">Home</a>
NavigateUrl是处理引用门户另一部分的goto方法。它需要经过url重写,以便与其他url保持一致

此函数有很多签名重载,您可以在其中指定键、控制键、设置等。有关详细信息,请查看DotNetNuke.Common.Globals类


请注意,如果使用上述版本,则需要在“管理”>“站点设置”下为门户网站设置主页。

在DNN 7中,最好执行以下操作:

<%=DotNetNuke.Common.Globals.NavigateURL(PortalController.Instance.GetCurrentPortalSettings().HomeTabId) %>

请注意额外的实例。在那里。变体PortalController.GetCurrentPortalSettings已过时。

您是否有机会测试该解决方案,或者您是否选择了另一种方式来管理链接到主页?@samy我还没有,但现在有了。感谢您花时间回答。您可能是对的,NavigateURL方法似乎是这次危险旅行的好伴侣。答案的确切版本在我的快速测试中不起作用,它给了我URL中当前页面的TabId,但我想这可能是因为我的特定设置。我将进一步测试您的解决方案并返回此处,让yall知道最终解决方案的结果。如果您需要根据页面名称解析页面的TabId,请首先从DotnetNuke.Entities.Tabs.TabController类中查看GetTabByName,这将为您提供正确的TabId。开始尝试您的解决方案。出于某种原因,我的门户没有主页,错误地认为这是不可能的。在设置了一个主页之后,这个解决方案就像一个魔咒。呵呵,谢谢你的回答。看看DNN代码库,我可以想象没有实例的变体是过时的,但它并不是完全被认为是过时的,是吗?。您是否有任何指向源代码或文档的链接,以解释为什么其他变体已过时?