我们希望使用不同的Sitemap子区域Url,以便Sitemap可以独立于环境&当我们刷新从较高区域到较低区域的环境时,无忧无虑。即使部署也可以没有错误。可以避免在部署后活动中手动执行。
开发:
<SubArea Id="nav_hub" ResourceId="Hub_SubArea_Title" DescriptionResourceId="Hub_SubArea_Description"
ToolTipResourseId="Hub_SubArea_ToolTip" Icon="/_imgs/Hub_32.png"
Url="http://mydevhub.com/home.aspx" AvailableOffline="false" />
UAT:
<SubArea Id="nav_hub" ResourceId="Hub_SubArea_Title" DescriptionResourceId="Hub_SubArea_Description"
ToolTipResourseId="Hub_SubArea_ToolTip" Icon="/_imgs/Hub_32.png"
Url="http://myuathub.com/home.aspx" AvailableOffline="false" />
有任何想法吗?
答案 0 :(得分:1)
我最终做了这个解决方法,因为我们无法将动态变量url传递给Sitemap。
1.使用url将子区域修改为自定义HTML Web资源,如下所示:
$webresource:pub/Scripts/External/navigation.html
2.只是使用以下内容打开一个基于org url的新窗口:
<html><head>
<script src="../../../ClientGlobalContext.js.aspx" type="text/javascript"></script>
<script language="javascript">
var crmUrl = parent.Xrm.Page.context.getClientUrl();
if (crmUrl.indexOf('devinstance.crm.dynamics.com') > 0)
parent.window.open('http://mydevhub.com/home.aspx');
if (crmUrl.indexOf('uatinstance.crm.dynamics.com') > 0)
parent.window.open('http://myuathub.com/home.aspx');
</script>
</head><body>
</body></html>
答案 1 :(得分:0)
万一其他人落在这里(并且由于我无法发表评论),提供的答案将被弃用。
实现这一目标的新方法是
var globalContext = Xrm.Utility.getGlobalContext();
globalContext.getClientUrl();
(Source)